Cabal-Version: 1.18
Name: ListLike
Version: 4.7.8.3

License: BSD3
Maintainer: David Fox <dsf@seereason.com>, Andreas Abel
Author: John Goerzen
Copyright: Copyright (c) 2007-2008 John Goerzen
license-file: COPYRIGHT
Category: list, string, text, bytestring, vector
Build-Type: Simple
homepage: http://github.com/ddssff/listlike
synopsis: Generalized support for list-like structures
Description: Generalized support for list-like structures in Haskell.
 .
 The ListLike module provides a common interface to the various Haskell
 types that are list-like.  Predefined interfaces include standard
 Haskell lists, Arrays, ByteStrings, and lazy ByteStrings.  Custom
 types can easily be made ListLike instances as well.
 .
 ListLike also provides for String-like types, such as String and
 ByteString, for types that support input and output, and for types that can handle
 infinite lists.
Stability: Stable

Tested-With:
  GHC == 9.12.1
  GHC == 9.10.1
  GHC == 9.8.4
  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
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2

extra-doc-files:
  README.md
  CHANGELOG.md

Library
  default-language: Haskell2010
  Hs-Source-Dirs: src
  Exposed-Modules: Data.ListLike
          Data.ListLike.Base
          Data.ListLike.Chars
          Data.ListLike.CharString
          Data.ListLike.FoldableLL
          Data.ListLike.IO
          Data.ListLike.Instances
          Data.ListLike.String
          Data.ListLike.Text
          Data.ListLike.Text.Builder
          Data.ListLike.Text.Text
          Data.ListLike.Text.TextLazy
          Data.ListLike.UTF8
          Data.ListLike.Utils
          Data.ListLike.Vector
          Data.ListLike.Vector.Generic
          Data.ListLike.Vector.Storable
          Data.ListLike.Vector.Unboxed
          Data.ListLike.Vector.Vector
          Data.ListLike.DList
          Data.ListLike.FMList
  -- Other-Modules: Data.ConfigFile.Lexer
  Build-Depends:
      base        >= 4.9      && < 5
    , containers  >= 0.5.7    && < 1
    , bytestring  >= 0.10.8   && < 0.13
    , array       >= 0.5      && < 0.6
    , text        >= 1.2      && < 1.3  || >= 2.0 && < 2.2
    , vector      >= 0.12     && < 0.14
    , dlist       >= 0.8      && < 1.1
    , fmlist      >= 0.9      && < 0.10
    , utf8-string >= 1.0      && < 1.1
    , deepseq

  -- Remark: Atm, we don't comply with the Haskell Package Versioning Policy
  --   https://pvp.haskell.org/
  -- > ยง6. Client defines orphan instance.
  -- > If a package defines an orphan instance, it MUST depend on the
  -- > minor version of the packages that define the data type and the
  -- > type class to be backwards compatible. For example,
  -- > build-depends: mypkg >= 2.1.1 && < 2.1.2.
  --
  -- Since ListLike defines orphan instances, we would need to include
  -- the minor version number in the upper bounds.
  -- (See issues #7 and #10.)
  -- However, this could involve a maintenance marathon to relax upper bounds.

  If !impl(ghc >= 8.4)
    Build-Depends: semigroups >= 0.16 && < 0.20

  ghc-options:
    -Wall
    -Wcompat

Test-suite listlike-tests
  default-language: Haskell2010
  Hs-source-dirs: testsrc
  Main-is:        runtests.hs
  Type:           exitcode-stdio-1.0

  Other-modules:  TestInfrastructure
  Build-depends:
      base
    , ListLike
    , HUnit      >= 1.5 && < 2
    , QuickCheck >= 2.9 && < 3
    , random     >= 1.1 && < 2
    , array
    , bytestring
    , containers
    , dlist
    , fmlist
    , text
    , vector
    , utf8-string
  If !impl(ghc >= 8.4)
    Build-Depends: semigroups >= 0.16 && < 0.20

source-repository head
  type:     git
  location: https://github.com/ddssff/listlike.git