packages feed

range-0.3.2.0: range.cabal

-- Initial range.cabal generated by cabal init.  For further documentation,
--  see http://haskell.org/cabal/users-guide/

-- The name of the package.
name:                range

-- The package version.  See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary:      +-+------- breaking API changes
--                   | | +----- non-breaking API additions
--                   | | | +--- code changes with no API change
version:             0.3.2.0

-- A short (one-line) description of the package.
synopsis:            An efficient and versatile range library.

-- A longer description of the package.
description:         The range library alows the use of performant and versatile ranges in your code.
                     It supports bounded and unbounded ranges, ranges in a nested manner (like library
                     versions), an efficient algebra of range computation and even a simplified interface
                     for ranges for the common cases. This library is far more efficient than using the
                     default Data.List functions to approximate range behaviour. Performance is the major
                     value offering of this library.

                     If this is your first time using this library it is highly recommended that you start
                     with "Data.Range"; it contains the basics of this library that meet most use
                     cases.

homepage:            https://github.com/robertmassaioli/range
bug-reports:         https://github.com/robertmassaioli/range/issues

-- The license under which the package is released.
license:             MIT

-- The file containing the license text.
license-file:        LICENSE

-- The package author(s).
author:              Robert Massaioli

-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer:          robertmassaioli@gmail.com

-- A copyright notice.
-- copyright:

category:            Data

build-type:          Simple

-- Constraint on the version of Cabal needed to build this package.
cabal-version:       >=1.10

source-repository head
  type:     git
  location: https://github.com/robertmassaioli/range


library
  -- Modules exported by the library.
  exposed-modules:    Data.Range
                      , Data.Ranges
                      , Data.Range.Ord
                      , Data.Range.Parser
                      , Data.Range.Algebra

  -- Modules included in this library but not exported.
  other-modules:  Data.Range.Data
                  , Data.Range.Operators
                  , Data.Range.RangeInternal
                  , Data.Range.Spans
                  , Data.Range.Util
                  , Data.Range.Algebra.Internal
                  , Data.Range.Algebra.Range
                  , Data.Range.Algebra.Predicate


  -- Other library packages from which modules are imported.
  build-depends:  base >= 4.7 && < 5
                  , parsec >= 3 && < 4
                  , free >= 4.12 && < 6
                  , deepseq >= 1.4 && < 2

  default-language: Haskell2010
  ghc-options: -Wall


Test-Suite test-range
   type:       exitcode-stdio-1.0
   main-is: Test/Range.hs
   other-modules: Test.RangeMerge
                  , Test.RangeLaws
                  , Test.RangeParser
                  , Test.RangeOrd
                  , Test.Generators
   build-depends: base                          >= 4.5 && < 5
                  , Cabal                       >= 1.14
                  , QuickCheck                  >= 2.4.0.1 && < 3
                  , test-framework-quickcheck2  >= 0.2 && < 0.4
                  , test-framework              >= 0.4 && < 0.9
                  , random                      >= 1.0
                  , free >= 4.12
                  , deepseq >= 1.4 && < 2
                  , parsec >= 3 && < 4
                  , containers >= 0.5 && < 1
                  , range
   default-language: Haskell2010
   ghc-options: -rtsopts -Wall -fno-enable-rewrite-rules

benchmark bench-range
  type:             exitcode-stdio-1.0
  main-is:          Bench/Range.hs
  build-depends:    base >= 4.7 && < 5
                  , range
                  , tasty-bench >= 0.3 && < 1
                  , deepseq >= 1.4 && < 2
                  , free >= 4.12 && < 6
                  , parsec >= 3 && < 4
  default-language: Haskell2010
  ghc-options:      -Wall -O2 -rtsopts