cabal-version:      3.0
name:               hetero-zip
version:            0.1.0.0
synopsis:           Zip lists with Traversables

description:
    A `Traversable`'s elements can be visited one at a time, and updated
    in-place. That means we can visit them at the same time as we walk along a
    list, and use the values in the list to update the values in the
    `Traversable`. This library does just that.

license:            BSD-3-Clause
license-file:       LICENSE
author:             Phil Hazelden
maintainer:         philip.hazelden@gmail.com

copyright:          Phil Hazelden, 2024
category:           Data
build-type:         Simple
tested-with:        GHC == { 9.0.2, 9.2.8, 9.4.8, 9.6.3, 9.8.1 }

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

source-repository head
    type: git
    location: https://github.com/ChickenProp/hetero-zip

common warnings
    ghc-options: -Wall -Wcompat

library
    import:           warnings
    default-language: Haskell2010
    exposed-modules:  Data.Traversable.HeteroZip
    -- other-modules:
    -- other-extensions:
    hs-source-dirs:   src
    build-depends:
      -- base 4.15 corresponds to ghc 9.0.*. We can probably go back further
      -- with both ghc and base if anyone cares. 4.19 is ghc 9.8.*.
      base >= 4.15 && < 4.20,
      infinite-list >= 0.1 && < 0.2,

-- No test suite, we use doctest: `cabal repl --with-ghc=doctest`