packages feed

foldable1-classes-compat-0.1.2: foldable1-classes-compat.cabal

cabal-version: >=1.10
name:          foldable1-classes-compat
version:       0.1.2
synopsis:
  Compatibility package for the Foldable1 and Bifoldable1 type classes

description:
  A compatibility package for the @Foldable1@ and @Bifoldable1@ type classes,
  which were introduced in @base-4.18.0.0@ (GHC 9.6.1). For more information,
  see <https://github.com/haskell/core-libraries-committee/issues/9 this Core
  Libraries Committee proposal>.
  .
  @Foldable1@ and @Bifoldable1@ classify non-empty data structures that can be
  folded to a summary value.

license:       BSD3
maintainer:    Ryan Scott <ryan.gl.scott@gmail.com>
author:        Edward Kmett, Oleg Grenrus
homepage:      https://github.com/haskell-compat/foldable1-classes-compat
bug-reports:   https://github.com/haskell-compat/foldable1-classes-compat/issues
category:      Data, Compatibility
license-file:  LICENSE
build-type:    Simple
extra-source-files:
  CHANGELOG.markdown
  README.markdown
tested-with:
  GHC ==8.0.2
   || ==8.2.2
   || ==8.4.4
   || ==8.6.5
   || ==8.8.4
   || ==8.10.7
   || ==9.0.2
   || ==9.2.8
   || ==9.4.8
   || ==9.6.6
   || ==9.8.4
   || ==9.10.1
   || ==9.12.1

-- , GHCJS ==8.4

source-repository head
  type:     git
  location: https://github.com/haskell-compat/foldable1-classes-compat.git

flag tagged
  description:
    You can disable the use of the `tagged` package using `-f-tagged`.
    .
    Disabling this is an unsupported configuration, but it may be useful for accelerating builds in sandboxes for expert users.

  default:     True
  manual:      True

library
  default-language: Haskell2010
  ghc-options:      -Wall
  build-depends:    base >=4.9 && <4.22

  if !impl(ghc >= 9.6)
    hs-source-dirs: src
    build-depends:
        containers    >=0.4 && <0.9
      , transformers  >=0.3 && <0.7
    exposed-modules:
      Data.Foldable1
      Data.Bifoldable1

  if !impl(ghc >=8.6)
    build-depends: base-orphans >=0.8.1 && <0.10

  if !impl(ghc >=8.2)
    build-depends: bifunctor-classes-compat >=0.1 && <0.2

  if flag(tagged)
    build-depends: tagged >=0.4.4 && <1

  if impl(ghc >= 9.0)
    build-depends: ghc-prim >= 0.7 && <0.14

test-suite test
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  ghc-options:      -Wall
  hs-source-dirs:   test
  main-is:          Tests.hs

  build-depends:
      base
    , containers
    , foldable1-classes-compat
    , transformers
    , QuickCheck           >=2.13.2 && <2.17
    , quickcheck-instances >=0.3.27 && <0.4
    , tasty                >=1.4    && <1.6
    , tasty-quickcheck     >=0.10   && <0.12

benchmark bench
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  ghc-options:      -Wall
  hs-source-dirs:   bench
  main-is:          Bench.hs

  build-depends:
      base
    , containers
    , foldable1-classes-compat
    , transformers
    , tasty-bench >=0.3.5 && < 0.5
    , deepseq     >=1.3   && <1.6