cabal-version:  1.12
name:           deepseq
version:        1.6.0.0
-- NOTE: Don't forget to update ./changelog.md

license:        BSD3
license-file:   LICENSE
maintainer:     libraries@haskell.org
bug-reports:    https://github.com/haskell/deepseq/issues
synopsis:       Deep evaluation of data structures
category:       Control
description:
    This package provides methods for fully evaluating data structures
    (\"deep evaluation\"). Deep evaluation is often used for adding
    strictness to a program, e.g. in order to force pending exceptions,
    remove space leaks, or force lazy I/O to happen. It is also useful
    in parallel programs, to ensure pending work does not migrate to the
    wrong thread.
    .
    The primary use of this package is via the 'deepseq' function, a
    \"deep\" version of 'seq'. It is implemented on top of an 'NFData'
    typeclass (\"Normal Form Data\", data structures with no unevaluated
    components) which defines strategies for fully evaluating different
    data types. See module documentation in "Control.DeepSeq" for more
    details.

build-type:     Simple
tested-with:
  GHC==9.10.1,
  GHC==9.8.2,
  GHC==9.6.6,
  GHC==9.4.8,
  GHC==9.2.8,
  GHC==9.0.2,
  GHC==8.10.7,
  GHC==8.8.4,
  GHC==8.6.5

extra-source-files: changelog.md

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

library
  default-language: Haskell2010
  other-extensions:
    BangPatterns
    CPP
    DefaultSignatures
    EmptyCase
    FlexibleContexts
    FlexibleInstances
    GADTs
    MultiParamTypeClasses
    PolyKinds
    Safe
    TypeOperators

  -- Solo lives in ghc-prim in GHC-9.0 (and maybe still in GHC-9.2)
  if impl(ghc >=9.0)
    build-depends: ghc-prim

  build-depends: base       >= 4.12 && < 4.21
  ghc-options: -Wall

  exposed-modules: Control.DeepSeq

test-suite test
  Default-Language: Haskell2010
  hs-source-dirs: tests
  main-is: Main.hs
  type: exitcode-stdio-1.0
  build-depends:
    base,
    deepseq,
    ghc-prim
  ghc-options: -Wall
  other-extensions:
    CPP
    BangPatterns
    DefaultSignatures
    DeriveDataTypeable
    DeriveGeneric
    FlexibleContexts
    Safe
    TupleSections
    TypeOperators