Name:                IntervalMap
Version:             0.6.1.0
Stability:           experimental
Synopsis:            Containers for intervals, with efficient search.
Homepage:            http://www.chr-breitkopf.de/comp/IntervalMap
License:             BSD3
License-file:        LICENSE
Author:              Christoph Breitkopf
Maintainer:          Christoph Breitkopf <chbreitkopf@gmail.com>
bug-reports:         mailto:chbreitkopf@gmail.com
Copyright:           2011-2018 Christoph Breitkopf
Category:            Data
Build-type:          Simple
Cabal-version:       >= 1.8
Tested-With:         GHC ==8.0.2, GHC ==8.2.1, GHC ==8.4.1
Description:
                     Ordered containers of intervals, with efficient search
                     for all keys containing a point or overlapping an interval.
                     See the example code on the home page for a quick introduction.

extra-source-files:
  README.md
  changelog
  test/*.hs
  bench/*.hs
  examples/*.lhs

Library
  Exposed-modules:     Data.IntervalMap, Data.IntervalMap.Lazy,
                       Data.IntervalMap.Strict, Data.IntervalMap.Interval,
                       Data.IntervalMap.Generic.Interval,
                       Data.IntervalMap.Generic.Lazy,
                       Data.IntervalMap.Generic.Strict,
                       Data.IntervalSet
  other-modules:       Data.IntervalMap.Generic.Base
  Build-depends:       base >= 4 && < 5, containers, deepseq
  ghc-options: -Wall -fwarn-tabs

Test-Suite TestInterval
  type:               exitcode-stdio-1.0
  main-is:            IntervalTests.hs
  hs-source-dirs:     . test
  build-depends:      base >= 4 && < 5, containers, deepseq,
                      QuickCheck, Cabal >= 1.9.2
  ghc-options:        -with-rtsopts=-K1K
  

Test-Suite TestGenericInterval
  type:               exitcode-stdio-1.0
  main-is:            GenericIntervalTests.hs
  hs-source-dirs:     . test
  build-depends:      base >= 4 && < 5, containers, deepseq,
                      QuickCheck, Cabal >= 1.9.2
  ghc-options:        -with-rtsopts=-K1K

Test-Suite TestIntervalMap
  type:               exitcode-stdio-1.0
  main-is:            IntervalMapTests.hs
  hs-source-dirs:     . test
  build-depends:      base >= 4 && < 5, containers, deepseq,
                      QuickCheck, Cabal >= 1.9.2
  ghc-options:        -with-rtsopts=-K1K

Test-Suite TestIntervalSet
  type:               exitcode-stdio-1.0
  main-is:            IntervalSetTests.hs
  hs-source-dirs:     . test
  build-depends:      base >= 4 && < 5, containers, deepseq,
                      QuickCheck, Cabal >= 1.9.2
  ghc-options:        -with-rtsopts=-K1K

benchmark bench-all
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            BenchAll.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq,
                      criterion >= 1.0
  ghc-options: -Wall

benchmark bench-generic-lazy-strict
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            GenericLazyVsStrict.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq,
                      criterion >= 1.0
  ghc-options: -Wall -with-rtsopts=-K1K

benchmark bench-set
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            BenchIntervalSet.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq,
                      criterion >= 1.0
  ghc-options: -Wall -with-rtsopts=-K1K

benchmark weigh-allocs
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            WeighAllocs.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq,
                      weigh
  ghc-options: -Wall -with-rtsopts=-K1K

benchmark bench-compare-types
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            CompareTypes.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq, fingertree >= 0.1, SegmentTree,
                      criterion >= 1.0
  ghc-options: -Wall

benchmark bench-rb-impl
  type:               exitcode-stdio-1.0
  hs-source-dirs:     . bench
  main-is:            CompareRBImpl.hs
  Build-depends:      base >= 4 && < 5,
                      containers, random, deepseq,
                      criterion >= 1.0
  ghc-options: -Wall -with-rtsopts=-K1K

source-repository head
  type:     git
  location: https://github.com/bokesan/IntervalMap