packages feed

pqueue-1.4.3.0: pqueue.cabal

name:               pqueue
version:            1.4.3.0
category:           Data Structures
author:             Louis Wasserman
license:            BSD3
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
cabal-version:      >= 1.10
tested-with:        GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.4, GHC == 9.4.2
extra-source-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.8 && < 4.18
  , deepseq >= 1.3 && < 1.5
  , 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.Down
    Data.PQueue.Internals.Foldable
    Data.PQueue.Prio.Max.Internals
  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
  if impl(ghc >= 8.0)
    ghc-options:
      -fno-warn-unused-imports

test-suite test
  hs-source-dirs: tests
  default-language: Haskell2010
  type: exitcode-stdio-1.0
  main-is: PQueueTests.hs
  build-depends:
  { base >= 4.8 && < 4.18
  , deepseq >= 1.3 && < 1.5
  , tasty
  , tasty-quickcheck
  , pqueue
  }
  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.8 && < 5
    , pqueue
    , deepseq       >= 1.3 && < 1.5
    , random        >= 1.2 && < 1.3
    , tasty-bench   >= 0.3 && < 0.4

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.8 && < 5
    , pqueue
    , deepseq       >= 1.3 && < 1.5
    , random        >= 1.2 && < 1.3
    , tasty-bench   >= 0.3 && < 0.4