cabal-version:       2.4
name:                slist
version:             0.1.1.0
synopsis:            Sized list
description:         This package implements @Slist@ data structure that stores the size
                     of the list along with the list itself.
homepage:            https://github.com/vrom911/slist
bug-reports:         https://github.com/vrom911/slist/issues
license:             MPL-2.0
license-file:        LICENSE
author:              Veronika Romashkina
maintainer:          vrom911@gmail.com
copyright:           2019-2020 Veronika Romashkina
category:            Data Structures, List
build-type:          Simple
extra-doc-files:     README.md
                   , CHANGELOG.md
tested-with:         GHC == 8.2.2
                   , GHC == 8.4.4
                   , GHC == 8.6.5
                   , GHC == 8.8.3
                   , GHC == 8.10.1

source-repository head
  type:                git
  location:            https://github.com/vrom911/slist.git

common common-options
  build-depends:       base >= 4.10.1.0 && < 4.15

  ghc-options:         -Wall
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wcompat
                       -Widentities
                       -Wredundant-constraints
                       -fhide-source-paths
  if impl(ghc >= 8.8.1)
    ghc-options:       -Wmissing-deriving-strategies
                       -Werror=missing-deriving-strategies
  if impl(ghc >= 8.10.1)
    ghc-options:       -Wunused-packages

  default-extensions:  ConstraintKinds
                       DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneDeriving
                       TupleSections
                       TypeApplications
                       ViewPatterns

  default-language:    Haskell2010

library
  import:              common-options
  hs-source-dirs:      src
  exposed-modules:     Slist
                         Slist.Size

test-suite slist-doctest
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Doctest.hs
  build-depends:       doctest
                     , Glob
  ghc-options:         -threaded