Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r5 (queues-1.0.0-r5) |
2025-07-09T19:51:44Z |
mitchellwrosen |
65cbf7ee496feab6bd8cffb6983734a0b93cd1c7181baeddf4139a2960c90b03
|
|
Changed description
from Queue data structures, as described in
* Okasaki, Chris. "Simple and efficient purely functional queues and deques." /Journal of functional programming/ 5.4 (1995): 583-592.
* Okasaki, Chris. /Purely Functional Data Structures/. Diss. Princeton University, 1996.
A queue has a \"back\" where new elements are enqueued, and a \"front\" where elements are dequeued in the order that
they were enqueued (last in, first out).
The queues provided in this library also support an \"enqueue at front\" operation, because the underlying
representations happen to support it, so you might technically refer to these data structures as
/output-restricted deques/.
In this library, it is helpful to think of the \"front\" being on the /left/, because (though the direction is
arbitrary) we are consistent throughout, where it matters:
* List conversion functions associate the head of a list with the front of a queue.
* The append operator @xs <> ys@ creates a queue with @xs@ in front of @ys@.
* The `Show` instances draw the front of the queue on the left.
Under \"ephemeral\" (or \"single-threaded\", or \"linear\") usage, wherein one does not need to refer to an old
version of a data structure after mutating it:
* @EphemeralQueue@ is __2.5x faster__ than and __allocates 0.50x as much__ memory as @Queue@.
* @Queue@ is __2.6x faster__ than and __allocates 0.40x as much__ memory as @Seq@ (from @containers@).
(These numbers vary from benchmark to benchmark and machine to machine. Always perform your own experiments!)
While it is certainly common to use a queue ephemerally, it is unusual for a Haskell data structure to require
ephemeral usage to achieve its stated bounds. A refactoring or change in requirements might cause surprising changes
in performance. That is why @EphemeralQueue@ has a longer name and module name. When in doubt, use @Queue@.
to Queue data structures, as described in
* Okasaki, Chris. "Simple and efficient purely functional queues and deques." /Journal of functional programming/ 5.4 (1995): 583-592.
* Okasaki, Chris. /Purely Functional Data Structures/. Diss. Princeton University, 1996.
A queue has a \"back\" where new elements are enqueued, and a \"front\" where elements are dequeued in the order that
they were enqueued (first in, first out).
The queues provided in this library also support an \"enqueue at front\" operation, because the underlying
representations happen to support it, so you might technically refer to these data structures as
/output-restricted deques/.
In this library, it is helpful to think of the \"front\" being on the /left/, because (though the direction is
arbitrary) we are consistent throughout, where it matters:
* List conversion functions associate the head of a list with the front of a queue.
* The append operator @xs <> ys@ creates a queue with @xs@ in front of @ys@.
* The `Show` instances draw the front of the queue on the left.
Under \"ephemeral\" (or \"single-threaded\", or \"linear\") usage, wherein one does not need to refer to an old
version of a data structure after mutating it:
* @EphemeralQueue@ is __2.5x faster__ than and __allocates 0.50x as much__ memory as @Queue@.
* @Queue@ is __2.6x faster__ than and __allocates 0.40x as much__ memory as @Seq@ (from @containers@).
(These numbers vary from benchmark to benchmark and machine to machine. Always perform your own experiments!)
While it is certainly common to use a queue ephemerally, it is unusual for a Haskell data structure to require
ephemeral usage to achieve its stated bounds. A refactoring or change in requirements might cause surprising changes
in performance. That is why @EphemeralQueue@ has a longer name and module name. When in doubt, use @Queue@.
|
-r4 (queues-1.0.0-r4) |
2025-03-02T12:30:10Z |
mitchellwrosen |
d95cc28bc10324537f8d8147693e745fd67f1019c9f394909f5b29f48dbb57a5
|
|
Changed copyright
from Copyright (C) 2023-2024 Mitchell Dalvi Rosen, Travis Staton
to Copyright (C) 2023-2025 Mitchell Dalvi Rosen, Travis Staton Changed tested-with
from ghc ==9.6.5: ghc ==9.8.2: ghc ==9.10.1
to ghc ==9.8.4: ghc ==9.10.1: ghc ==9.12.1 Changed the library component's library dependency on 'base'
from ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20 || ^>=4.21 Changed the test suite 'test' component's library dependency on 'base'
from >=0
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20 || ^>=4.21 Changed the test suite 'test' component's library dependency on 'containers'
from ^>=0.6.7 || ^>=0.7
to ^>=0.6.7 || ^>=0.7 || ^>=0.8 Changed the test suite 'test' component's library dependency on 'hedgehog'
from ^>=1.4
to ^>=1.4 || ^>=1.5 Changed the benchmark 'bench-ephemeral-queue' component's library dependency on 'base'
from >=0
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20 || ^>=4.21 Changed the benchmark 'bench-real-time-queue' component's library dependency on 'base'
from >=0
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20 || ^>=4.21 Changed the benchmark 'bench-sequence-queue' component's library dependency on 'base'
from >=0
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20 || ^>=4.21 Changed the benchmark 'bench-sequence-queue' component's library dependency on 'containers'
from ^>=0.6.7 || ^>=0.7
to ^>=0.6.7 || ^>=0.7 || ^>=0.8
|
-r3 (queues-1.0.0-r3) |
2024-07-10T15:22:23Z |
mitchellwrosen |
70391f217b4c0cd2bcd3e3f848d5724649a2323afb20a63ba09a40dd4ceb28f0
|
|
Changed the benchmark 'bench-ephemeral-queue' component's library dependency on 'tasty-bench'
from ^>=0.3.5
to ^>=0.3.5 || ^>=0.4 Changed the benchmark 'bench-real-time-queue' component's library dependency on 'tasty-bench'
from ^>=0.3.5
to ^>=0.3.5 || ^>=0.4 Changed the benchmark 'bench-sequence-queue' component's library dependency on 'tasty-bench'
from ^>=0.3.5
to ^>=0.3.5 || ^>=0.4
|
-r2 (queues-1.0.0-r2) |
2024-05-21T16:06:29Z |
mitchellwrosen |
078b1c50a295897bccef00cce9829ca1a235cddfef16e7686c96aa8394d4d322
|
|
Changed the library component's library dependency on 'base'
from ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19
to ^>=4.15 || ^>=4.16 || ^>=4.17 || ^>=4.18 || ^>=4.19 || ^>=4.20
|
-r1 (queues-1.0.0-r1) |
2024-05-16T01:48:39Z |
mitchellwrosen |
9b9f36a467187e14deec539311b75104bd62a23c509f76f39c79d44ffa5d52ae
|
|
Changed copyright
from Copyright (C) 2023-2024 Mitchell Rosen, Travis Staton
to Copyright (C) 2023-2024 Mitchell Dalvi Rosen, Travis Staton Changed maintainer
from Mitchell Rosen <mitchellwrosen@gmail.com>, Travis Staton <hello@travisstaton.com>
to Mitchell Dalvi Rosen <mitchellwrosen@gmail.com>, Travis Staton <hello@travisstaton.com> Changed author
from Mitchell Rosen, Travis Staton
to Mitchell Dalvi Rosen, Travis Staton Changed tested-with
from ghc ==9.4.8: ghc ==9.6.4: ghc ==9.8.2
to ghc ==9.6.5: ghc ==9.8.2: ghc ==9.10.1
|
-r0 (queues-1.0.0-r0) |
2024-03-03T21:04:05Z |
mitchellwrosen |
b77fd0876781df1a70cf703c758d1873c858b318fc4fd11fb534f1326432aa2f
|
|
|