name:                deepseq-generics
version:             0.2.0.0
x-revision: 7

synopsis:            GHC.Generics-based Control.DeepSeq.rnf implementation
homepage:            https://github.com/hvr/deepseq-generics
bug-reports:         https://github.com/hvr/deepseq-generics/issues
license:             BSD3
license-file:        LICENSE
author:              Herbert Valerio Riedel
maintainer:          hvr@gnu.org
copyright:           2012, Herbert Valerio Riedel
category:            Control
build-type:          Simple
cabal-version:       >=1.10

tested-with:
  GHC == 9.2.*
  GHC == 9.0.*
  GHC == 8.10.*
  GHC == 8.8.*
  GHC == 8.6.*
  GHC == 8.4.*
  GHC == 8.2.2
  GHC == 8.0.2
  GHC == 7.10.3
  GHC == 7.8.4
  GHC == 7.6.3
  GHC == 7.4.*

description:
    This package provides a "GHC.Generics"-based
    'Control.DeepSeq.Generics.genericRnf' function which can be used
    for providing a 'rnf' implementation. See the documentation for
    the 'genericRnf' function in the "Control.DeepSeq.Generics" module
    to get started.
    .
    The original idea was pioneered in the @generic-deepseq@ package
    (see <http://www.haskell.org/pipermail/haskell-cafe/2012-February/099551.html>
    for more information).
    .
    This package differs from the @generic-deepseq@ package by working
    in combination with the existing @deepseq@ package as opposed to
    defining a conflicting drop-in replacement for @deepseq@'s
    @Control.DeepSeq@ module.
    .
    __Note__: The ability to auto-derive via "GHC.Generics" has been
    merged into @deepseq-1.4.0.0@. This package is now still useful
    for writing code that's also compatible with older @deepseq@
    versions not yet providing "GHC.Generics"-support.

extra-source-files: changelog.md

source-repository head
    type:     git
    location: https://github.com/hvr/deepseq-generics.git

library
    default-language:    Haskell2010
    exposed-modules:     Control.DeepSeq.Generics
    build-depends:       base     >= 4.5     && < 4.17
                       , ghc-prim >= 0.2     && < 0.9
                       , deepseq  >= 1.2.0.1 && < 1.5
    other-extensions:    BangPatterns, FlexibleContexts, TypeOperators
    ghc-options:         -Wall

test-suite deepseq-generics-tests
    default-language:    Haskell2010
    type:                exitcode-stdio-1.0
    hs-source-dirs:      test
    main-is:             Suite.hs
    other-extensions:    CPP, DeriveDataTypeable, DeriveGeneric, TupleSections
    ghc-options:         -Wall

    build-depends:
        base,
        deepseq,
        deepseq-generics,
        ghc-prim,
        -- end of packages with inherited version constraints
        test-framework >= 0.6.1 && < 0.9,
        test-framework-hunit >= 0.2.2 && < 0.9,
        HUnit >= 1.2.5 && < 1.7