Cabal revisions of psqueues-0.2.1.0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-Name: psqueues-Version: 0.2.1.0-License: BSD3-License-file: LICENSE-Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com>-Bug-reports: https://github.com/bttr/psqueues/issues-Synopsis: Pure priority search queues-Category: Data Structures-Build-type: Simple-Cabal-version: >=1.8--Description:- The psqueues package provides- <http://en.wikipedia.org/wiki/Priority_queue Priority Search Queues> in- three different flavors.- .- * @OrdPSQ k p v@, which uses the @Ord k@ instance to provide fast insertion,- deletion and lookup. This implementation is based on Ralf Hinze's- <http://citeseer.ist.psu.edu/hinze01simple.html A Simple Implementation Technique for Priority Search Queues>.- Hence, it is similar to the- <http://hackage.haskell.org/package/PSQueue PSQueue> library, although it is- considerably faster and provides a slightly different API.- .- * @IntPSQ p v@ is a far more efficient implementation. It fixes the key type- to @Int@ and uses a <http://en.wikipedia.org/wiki/Radix_tree radix tree>- (like @IntMap@) with an additional min-heap property.- .- * @HashPSQ k p v@ is a fairly straightforward extension of @IntPSQ@: it- simply uses the keys' hashes as indices in the @IntPSQ@. If there are any- hash collisions, it uses an @OrdPSQ@ to resolve those. The performance of- this implementation is comparable to that of @IntPSQ@, but it is more widely- applicable since the keys are not restricted to @Int@, but rather to any- @Hashable@ datatype.- .- Each of the three implementations provides the same API, so they can be used- interchangeably. The benchmarks show how they perform relative to one- another, and also compared to the other Priority Search Queue- implementations on Hackage:- <http://hackage.haskell.org/package/PSQueue PSQueue>- and- <http://hackage.haskell.org/package/fingertree-psqueue fingertree-psqueue>.- .- <<http://i.imgur.com/KmbDKR6.png>>- .- <<http://i.imgur.com/ClT181D.png>>- .- Typical applications of Priority Search Queues include:- .- * Caches, and more specifically LRU Caches;- .- * Schedulers;- .- * Pathfinding algorithms, such as Dijkstra's and A*.--Extra-source-files:- CHANGELOG--Source-repository head- type: git- location: http://github.com/bttr/psqueues.git--Library- Ghc-options: -O2 -Wall- Hs-source-dirs: src-- Build-depends:- base >= 4.2 && < 5- , deepseq >= 1.2 && < 1.5- , hashable >= 1.2.1 && < 1.3-- if impl(ghc>=6.10)- Build-depends: ghc-prim-- Exposed-modules:- Data.HashPSQ- Data.IntPSQ- Data.OrdPSQ- Other-modules:- Data.BitUtil- Data.HashPSQ.Internal- Data.IntPSQ.Internal- Data.OrdPSQ.Internal--Benchmark psqueues-benchmarks- Type: exitcode-stdio-1.0- Hs-source-dirs: src benchmarks- Main-is: Main.hs- Ghc-options: -Wall-- Build-depends:- containers >= 0.5- , unordered-containers >= 0.2.4- , criterion >= 0.8- , mtl >= 2.1- , fingertree-psqueue >= 0.3- , PSQueue >= 1.1- , random >= 1.0-- , base- , deepseq- , ghc-prim- , hashable- , psqueues--Test-suite psqueues-tests- Cpp-options: -DTESTING -DSTRICT- Ghc-options: -Wall- Hs-source-dirs: src tests- Main-is: Main.hs- Type: exitcode-stdio-1.0-- Other-modules:- Data.PSQ.Class- Data.PSQ.Class.Gen- Data.PSQ.Class.Tests- Data.PSQ.Class.Util- Data.HashPSQ.Tests- Data.IntPSQ.Tests- Data.OrdPSQ.Tests-- Build-depends:- HUnit >= 1.2 && < 1.4- , QuickCheck >= 2.7 && < 2.9- , test-framework >= 0.8 && < 0.9- , test-framework-hunit >= 0.3 && < 0.4- , test-framework-quickcheck2 >= 0.3 && < 0.4-- , base- , array- , deepseq- , ghc-prim- , hashable- , psqueues- , tagged+Name: psqueues +Version: 0.2.1.0 +x-revision: 1 +License: BSD3 +License-file: LICENSE +Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com> +Bug-reports: https://github.com/bttr/psqueues/issues +Synopsis: Pure priority search queues +Category: Data Structures +Build-type: Simple +Cabal-version: >=1.8 + +Description: + The psqueues package provides + <http://en.wikipedia.org/wiki/Priority_queue Priority Search Queues> in + three different flavors. + . + * @OrdPSQ k p v@, which uses the @Ord k@ instance to provide fast insertion, + deletion and lookup. This implementation is based on Ralf Hinze's + <http://citeseer.ist.psu.edu/hinze01simple.html A Simple Implementation Technique for Priority Search Queues>. + Hence, it is similar to the + <http://hackage.haskell.org/package/PSQueue PSQueue> library, although it is + considerably faster and provides a slightly different API. + . + * @IntPSQ p v@ is a far more efficient implementation. It fixes the key type + to @Int@ and uses a <http://en.wikipedia.org/wiki/Radix_tree radix tree> + (like @IntMap@) with an additional min-heap property. + . + * @HashPSQ k p v@ is a fairly straightforward extension of @IntPSQ@: it + simply uses the keys' hashes as indices in the @IntPSQ@. If there are any + hash collisions, it uses an @OrdPSQ@ to resolve those. The performance of + this implementation is comparable to that of @IntPSQ@, but it is more widely + applicable since the keys are not restricted to @Int@, but rather to any + @Hashable@ datatype. + . + Each of the three implementations provides the same API, so they can be used + interchangeably. The benchmarks show how they perform relative to one + another, and also compared to the other Priority Search Queue + implementations on Hackage: + <http://hackage.haskell.org/package/PSQueue PSQueue> + and + <http://hackage.haskell.org/package/fingertree-psqueue fingertree-psqueue>. + . + <<http://i.imgur.com/KmbDKR6.png>> + . + <<http://i.imgur.com/ClT181D.png>> + . + Typical applications of Priority Search Queues include: + . + * Caches, and more specifically LRU Caches; + . + * Schedulers; + . + * Pathfinding algorithms, such as Dijkstra's and A*. + +Extra-source-files: + CHANGELOG + +Source-repository head + type: git + location: http://github.com/bttr/psqueues.git + +Library + Ghc-options: -O2 -Wall + Hs-source-dirs: src + + Build-depends: + base >= 4.8 && < 5 + , deepseq >= 1.2 && < 1.5 + , hashable >= 1.2.1 && < 1.3 + + if impl(ghc>=6.10) + Build-depends: ghc-prim + + Exposed-modules: + Data.HashPSQ + Data.IntPSQ + Data.OrdPSQ + Other-modules: + Data.BitUtil + Data.HashPSQ.Internal + Data.IntPSQ.Internal + Data.OrdPSQ.Internal + +Benchmark psqueues-benchmarks + Type: exitcode-stdio-1.0 + Hs-source-dirs: src benchmarks + Main-is: Main.hs + Ghc-options: -Wall + + Build-depends: + containers >= 0.5 + , unordered-containers >= 0.2.4 + , criterion >= 0.8 + , mtl >= 2.1 + , fingertree-psqueue >= 0.3 + , PSQueue >= 1.1 + , random >= 1.0 + + , base + , deepseq + , ghc-prim + , hashable + , psqueues + +Test-suite psqueues-tests + Cpp-options: -DTESTING -DSTRICT + Ghc-options: -Wall + Hs-source-dirs: src tests + Main-is: Main.hs + Type: exitcode-stdio-1.0 + + Other-modules: + Data.PSQ.Class + Data.PSQ.Class.Gen + Data.PSQ.Class.Tests + Data.PSQ.Class.Util + Data.HashPSQ.Tests + Data.IntPSQ.Tests + Data.OrdPSQ.Tests + + Build-depends: + HUnit >= 1.2 && < 1.4 + , QuickCheck >= 2.7 && < 2.9 + , test-framework >= 0.8 && < 0.9 + , test-framework-hunit >= 0.3 && < 0.4 + , test-framework-quickcheck2 >= 0.3 && < 0.4 + + , base + , array + , deepseq + , ghc-prim + , hashable + , psqueues + , tagged
revision 2
Name: psqueues Version: 0.2.1.0 -x-revision: 1 +x-revision: 2 License: BSD3 License-file: LICENSE Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com> Hs-source-dirs: src Build-depends: - base >= 4.8 && < 5 + base >= 4.2 && < 4.11 , deepseq >= 1.2 && < 1.5 , hashable >= 1.2.1 && < 1.3
revision 3
Name: psqueues Version: 0.2.1.0 -x-revision: 2 +x-revision: 3 License: BSD3 License-file: LICENSE Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com> location: http://github.com/bttr/psqueues.git Library + other-extensions: CPP Safe Trustworthy Ghc-options: -O2 -Wall Hs-source-dirs: src
revision 4
Name: psqueues Version: 0.2.1.0 -x-revision: 3 +x-revision: 4 License: BSD3 License-file: LICENSE Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com> location: http://github.com/bttr/psqueues.git Library - other-extensions: CPP Safe Trustworthy+ other-extensions: CPP Safe Trustworthy Ghc-options: -O2 -Wall Hs-source-dirs: src Build-depends: - base >= 4.2 && < 4.11 + base >= 4.8 && < 4.11 , deepseq >= 1.2 && < 1.5 , hashable >= 1.2.1 && < 1.3