packages feed

pqueue-1.7.0.0: pqueue.cabal

cabal-version:      2.2
name:               pqueue
version:            1.7.0.0
category:           Data Structures
author:             Louis Wasserman
license:            BSD-3-Clause
license-file:       LICENSE
stability:          experimental
synopsis:           Reliable, persistent, fast priority queues.
description:        A fast, reliable priority queue implementation based on a binomial heap.
maintainer:         Lennart Spitzner <hexagoxel@hexagoxel.de>,
                    Louis Wasserman <wasserman.louis@gmail.com>,
                    konsumlamm <konsumlamm@gmail.com>,
                    David Feuer <David.Feuer@gmail.com>
homepage:           https://github.com/lspitzner/pqueue
bug-reports:        https://github.com/lspitzner/pqueue/issues
build-type:         Simple
tested-with:
  GHC == 9.14.1
  GHC == 9.12.2
  GHC == 9.10.3
  GHC == 9.8.4
  GHC == 9.6.7
  GHC == 9.4.8
  GHC == 9.2.8
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4
  GHC == 8.2.2
  GHC == 8.0.2

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

source-repository head
  type: git
  location: https://github.com/lspitzner/pqueue.git

library
  hs-source-dirs: src
  default-language:
    Haskell2010
  build-depends:
    , base >= 4.9 && < 4.23
    , deepseq >= 1.3 && < 1.6
    , indexed-traversable >= 0.1 && < 0.2
  exposed-modules:
    Data.PQueue.Prio.Min
    Data.PQueue.Prio.Max
    Data.PQueue.Min
    Data.PQueue.Max
  other-modules:
    Data.PQueue.Prio.Internals
    Data.PQueue.Internals
    BinomialQueue.Internals
    BinomialQueue.Min
    BinomialQueue.Max
    Data.PQueue.Internals.Classes
    Data.PQueue.Internals.Down
    Data.PQueue.Prio.Max.Internals
    Nattish
  if impl(ghc)
    default-extensions: DeriveDataTypeable
  other-extensions:
      BangPatterns
    , CPP
  ghc-options:
    -- We currently need -fspec-constr to get GHC to compile conversions
    -- from lists well. We could (and probably should) write those a
    -- bit differently so we won't need it.
    -fspec-constr
    -fdicts-strict
    -Wall

test-suite test
  hs-source-dirs: src, tests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: PQueueTests.hs
  build-depends:
    , base >= 4.9 && < 4.23
    , deepseq >= 1.3 && < 1.6
    , indexed-traversable >= 0.1 && < 0.2
    , tasty
    , tasty-quickcheck
  other-modules:
    Data.PQueue.Prio.Min
    Data.PQueue.Prio.Max
    Data.PQueue.Min
    Data.PQueue.Max
    Data.PQueue.Prio.Internals
    Data.PQueue.Internals
    BinomialQueue.Internals
    BinomialQueue.Min
    BinomialQueue.Max
    Data.PQueue.Internals.Classes
    Data.PQueue.Internals.Down
    Data.PQueue.Prio.Max.Internals
    Nattish

    Validity.BinomialQueue
    Validity.PQueue.Min
    Validity.PQueue.Prio.BinomialQueue
    Validity.PQueue.Prio.Min
    Validity.PQueue.Prio.Max
  if impl(ghc)
    default-extensions: DeriveDataTypeable
  ghc-options:
    -Wall
    -fno-warn-type-defaults

benchmark minqueue-benchmarks
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmarks
  main-is:          BenchMinQueue.hs
  other-modules:
    KWay.MergeAlg
    HeapSort
    KWay.RandomIncreasing
  ghc-options:      -O2
  build-depends:
    , base          >= 4.9 && < 5
    , pqueue
    , deepseq       >= 1.3 && < 1.6
    , random        >= 1.2 && < 1.4
    , tasty-bench   >= 0.3 && < 0.6

benchmark minpqueue-benchmarks
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   benchmarks
  main-is:          BenchMinPQueue.hs
  other-modules:
    KWay.PrioMergeAlg
    PHeapSort
    KWay.RandomIncreasing
  ghc-options:      -O2
  build-depends:
    , base          >= 4.9 && < 5
    , pqueue
    , deepseq       >= 1.3 && < 1.6
    , random        >= 1.2 && < 1.4
    , tasty-bench   >= 0.3 && < 0.6