Package0.3Data
abstract-deque
Abstract, parameterized interface to mutable Deques.
- Version0.3
- CategoryData
- LicenceBSD-3-Clause
- AuthorRyan R. Newton
- Maintainerrrnewton@gmail.com
- Homepagegithub.com/rrnewton/haskell-lockfree/wiki
- Pinned byhackage abstract-deque 0.3
- Sourcehackage.haskell.org/package/abstract-deque-0.3
Modules
4 modules- Data.Concurrent.Deque.Class22An abstract, parameterizable interface for queues. This interface includes a non-associated type family for Deques
- Data.Concurrent.Deque.Debugger1This module provides a wrapper around a deque that can enforce additional
- Data.Concurrent.Deque.Reference11A strawman implementation of concurrent Dequeues. This
- Data.Concurrent.Deque.Reference.DequeInstance0By convention, every provider of the Data.Concurrent.Deque.Class
Description
An abstract interface to highly-parameterizable queues/deques.
Background: There exists a feature space for queues that extends between:
simple, single-ended, non-concurrent, bounded queues double-ended, threadsafe, growable queues
... with important points inbetween (such as the queues used for work-stealing).
This package includes an interface for Deques that allows the programmer to use a single API for all of the above, while using the type-system to select an efficient implementation given the requirements (using type families).
This package also includes a simple reference implementation based on IORef and Data.Sequence.
Depends on
5 packages- array-0.5.8.0with GHC
- base-4.20.2.0with GHC
- containers-0.7with GHC
- random-1.2.1.3in this set
- time-1.12.2with GHC