SHA256
1
0
forked from pool/ghc-psqueues

6 Commits

Author SHA256 Message Date
c60772717d Accepting request 1298394 from devel:languages:haskell
version update

OBS-URL: https://build.opensuse.org/request/show/1298394
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-psqueues?expand=0&rev=11
2025-08-09 17:59:25 +00:00
5f1585da36 osc copypac from project:devel:languages:haskell:ghc-9.12.x package:ghc-psqueues revision:2, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-psqueues?expand=0&rev=24
2025-08-08 15:43:29 +00:00
a606c1f0dc Accepting request 1240781 from devel:languages:haskell
version update

OBS-URL: https://build.opensuse.org/request/show/1240781
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-psqueues?expand=0&rev=10
2025-01-28 15:41:08 +00:00
2551af4a4a osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-psqueues revision:4, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-psqueues?expand=0&rev=22
2025-01-28 10:11:51 +00:00
16c49e4e77 Accepting request 1239821 from devel:languages:haskell
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1239821
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ghc-psqueues?expand=0&rev=9
2025-01-27 19:51:25 +00:00
72c832f28b osc copypac from project:devel:languages:haskell:ghc-9.10.x package:ghc-psqueues revision:3, using keep-link
OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-psqueues?expand=0&rev=20
2025-01-17 22:01:25 +00:00
5 changed files with 38 additions and 168 deletions

View File

@@ -1,3 +1,36 @@
-------------------------------------------------------------------
Fri Aug 8 13:56:11 UTC 2025 - Peter Simons <psimons@suse.com>
- Update psqueues to version 0.2.8.2.
- 0.2.8.2 (2025-08-08)
* Use Straka's balancing algorithm for OrdPSQ (#64):
Milan Straka's paper 'Adams Trees Revisited' argues that Adams'
balancing algorithm previously did not have a correct proof. It
provides a proof of a slightly modified balancing algorithm that
prefers single rotations in many more cases. The small change
specified in that paper fixes the frequent quickcheck failures
exposed when the balance test was made more precise.
* Remove unnecessary dependencies: array, containers, ghc-prim, mtl,
unordered-containers
-------------------------------------------------------------------
Tue Jan 28 00:07:51 UTC 2025 - Peter Simons <psimons@suse.com>
- Update psqueues to version 0.2.8.1.
- 0.2.8.1 (2025-01-28)
* Fix performance issue in OrdPSQ relating to balancing (#61).
* Relax hashable upper bound to 1.5
* Relax QuickCheck upper bound to 2.15
* Relax tasty-quickcheck upper bound to 0.11
-------------------------------------------------------------------
Sun Jan 12 16:57:23 UTC 2025 - Peter Simons <psimons@suse.com>
- Update psqueues to version 0.2.8.0 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sat Aug 24 12:31:28 UTC 2024 - Peter Simons <psimons@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package ghc-psqueues
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,12 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 0.2.8.0
Version: 0.2.8.2
Release: 0
Summary: Pure priority search queues
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
@@ -41,8 +40,6 @@ BuildRequires: ghc-HUnit-devel
BuildRequires: ghc-HUnit-prof
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-QuickCheck-prof
BuildRequires: ghc-array-devel
BuildRequires: ghc-array-prof
BuildRequires: ghc-tagged-devel
BuildRequires: ghc-tagged-prof
BuildRequires: ghc-tasty-devel
@@ -121,7 +118,6 @@ This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b36de238414845d5f0e8e521154e670b2129a21b98070a02fd6b7c873b46e462
size 27549

3
psqueues-0.2.8.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f63b46f1361956deb679792ef0bcf110a10c4f1d3060180dfae801599407794e
size 28255

View File

@@ -1,159 +0,0 @@
Name: psqueues
Version: 0.2.8.0
X-revision: 1
License: BSD3
License-file: LICENSE
Maintainer: Jasper Van der Jeugt <jaspervdj@gmail.com>
Bug-reports: https://github.com/jaspervdj/psqueues/issues
Synopsis: Pure priority search queues
Category: Data Structures
Build-type: Simple
Cabal-version: >=1.10
Tested-with: GHC==9.6.1, GHC==9.4.2, GHC==9.2.2, 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
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/jaspervdj/psqueues.git
Library
Default-language: Haskell2010
Ghc-options: -O2 -Wall
Hs-source-dirs: src
Build-depends:
base >= 4.2 && < 5
, deepseq >= 1.2 && < 1.6
, hashable >= 1.1.2.3 && < 1.6
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
Default-language: Haskell2010
Ghc-options: -Wall
Hs-source-dirs: src benchmarks
Main-is: Main.hs
Type: exitcode-stdio-1.0
Other-modules:
BenchmarkTypes
Data.BitUtil
Data.HashPSQ
Data.HashPSQ.Benchmark
Data.HashPSQ.Internal
Data.IntPSQ
Data.IntPSQ.Benchmark
Data.IntPSQ.Internal
Data.OrdPSQ
Data.OrdPSQ.Benchmark
Data.OrdPSQ.Internal
Data.PSQueue.Benchmark
Build-depends:
containers >= 0.5
, unordered-containers >= 0.2.4
, criterion >= 0.8
, mtl >= 2.1
, PSQueue >= 1.1
, random >= 1.0
, base
, deepseq
, ghc-prim
, hashable
, psqueues
Test-suite psqueues-tests
Cpp-options: -DTESTING -DSTRICT
Default-language: Haskell2010
Ghc-options: -Wall
Hs-source-dirs: src tests
Main-is: Main.hs
Type: exitcode-stdio-1.0
Other-modules:
Data.BitUtil
Data.HashPSQ
Data.HashPSQ.Internal
Data.HashPSQ.Tests
Data.IntPSQ
Data.IntPSQ.Internal
Data.IntPSQ.Tests
Data.OrdPSQ
Data.OrdPSQ.Internal
Data.OrdPSQ.Tests
Data.PSQ.Class
Data.PSQ.Class.Gen
Data.PSQ.Class.Tests
Data.PSQ.Class.Util
Build-depends:
HUnit >= 1.2 && < 1.7
, QuickCheck >= 2.7 && < 2.15
, tasty >= 1.2 && < 1.6
, tasty-hunit >= 0.9 && < 0.11
, tasty-quickcheck >= 0.8 && < 0.11
, base
, array
, deepseq
, ghc-prim
, hashable
, psqueues
, tagged