Name: patch
Version: 0.0.5.0
Synopsis: Data structures for describing changes to other data structures.
Description:
  Data structures for describing changes to other data structures.
  .
  In this library, a patch is something which can be applied, analogous to a
  function, and which distinguishes returning the argument it was provided from
  returning something else.
License: BSD3
License-file: LICENSE
Author: Ryan Trinkle
Maintainer: maintainer@obsidian.systems
Stability: Experimental
Category: FRP
Build-type: Simple
Cabal-version: >=1.10
homepage: https://obsidian.systems
bug-reports: https://github.com/reflex-frp/patch/issues
extra-source-files:
  README.md
  ChangeLog.md

tested-with:
  GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1
  GHCJS ==8.4

flag split-these
  description: Use split these/semialign packages
  manual:      False
  default:     True

library
  hs-source-dirs: src
  default-language: Haskell2010
  build-depends: base >= 4.9 && < 4.15
               , constraints-extras >= 0.3 && < 0.4
               , containers >= 0.6 && < 0.7
               , dependent-map >= 0.3 && < 0.5
               , dependent-sum >= 0.6 && < 0.8
               , lens >= 4.7 && < 5
               , semigroupoids >= 4.0 && < 6
               , transformers >= 0.5.6.0 && < 0.6
               , witherable >= 0.3 && < 0.5

  exposed-modules: Data.Functor.Misc
                 , Data.Monoid.DecidablyEmpty
                 , Data.Patch
                 , Data.Patch.Class
                 , Data.Patch.DMap
                 , Data.Patch.DMapWithMove
                 , Data.Patch.IntMap
                 , Data.Patch.Map
                 , Data.Patch.MapWithMove
                 , Data.Patch.MapWithPatchingMove
                 , Data.Semigroup.Additive

  ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs
  default-extensions: PolyKinds

  if flag(split-these)
    build-depends: these >= 1 && <1.2
                 , semialign >=1 && <1.2
                 , monoidal-containers >= 0.6 && < 0.7
  else
    build-depends: these >= 0.4 && <0.9
                 , monoidal-containers == 0.4.0.0

test-suite tests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: tests.hs
  hs-source-dirs: test
  build-depends: base
               , patch
               , containers
               , hedgehog
               , HUnit
  if impl(ghcjs)
    buildable: False

test-suite hlint
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: hlint.hs
  hs-source-dirs: test
  build-depends: base
               , directory
               , filepath
               , filemanip
               , hlint (< 2.1 || >= 2.2.2) && < 3.3
  if impl(ghcjs)
    buildable: False

source-repository head
  type: git
  location: https://github.com/reflex-frp/patch