dlist
Difference lists
Version on this page: | 0.8.0.4 |
LTS Haskell 22.17: | 1.0@rev:1 |
Stackage Nightly 2024-04-18: | 1.0@rev:1 |
Latest on Hackage: | 1.0@rev:1 |
dlist-0.8.0.4@sha256:3ebbb7022246f446fc625b77d0e1f509d66eedf1deb22bbd6df5c8450aaf923a,1924
Module documentation for 0.8.0.4
- Data
Difference Lists in Haskell
Summary
The Haskell dlist
package defines a list-like type supporting O(1) append and snoc operations.
See ChangeLog.md for recent changes.
References
Research
-
A novel representation of lists and its application to the function “reverse.” John Hughes. Information Processing Letters. Volume 22, Issue 3. 1986-03. Pages 141-144. [PDF]
This is the original source for a representation of lists as first-class functions.
Basic Introduction
-
Difference list. Wikipedia.
-
Difference lists. Haskell.org Wiki.
-
What is a DList?. Stack Overflow.
Blogs and Discussion
-
Using Difference Lists. Douglas M. Auclair. 2008-08-13.
-
A Sort of Difference. Edward Kmett. 2008-09-18.
-
Reference for technique wanted. Richard O’Keefe, et al. 2010-10-31.
-
24 Days of Hackage: dlist. Oliver Charles. 2012-12-14.
-
Constructing a list in a Monad. Joachim Breitner. 2013-11-13.
-
Demystifying DList. (On Reddit). Tom Ellis. 2014-01-24.
-
keepEquals with Difference Lists, Douglas M. Auclair. 2014-06-21.
Books
- Chapter 13. Data Structures. Real World Haskell. 2008-12-05.
Changes
Change Log
Version 0.8.0.4 (2018-01-19) Kokborok Day
Package changes
- Change QuickCheck upper bound from 2.11 to 2.12
- Make
Data.DList
trustworthy (Bertram Felgenhauer) - Remove quickcheck-instances dependency for tests
Version 0.8.0.3 (2017-07-04) Independence Day in the United States
Package changes
- Change QuickCheck upper bound from 2.10 to 2.11 and import the
Arbitrary
NonEmpty
instance from quickcheck-instances for 2.10 - Fix
stimes
property in test suite (Oleg Grenrus)
Version 0.8.0.2 (2016-09-04) World Sexual Health Day
Package changes
- Fix test suite: add missing module
OverloadedStrings
(Sergei Trofimovich)
Version 0.8.0.1 (2016-07-29) 58th Anniversary of the Creation of NASA
Package changes
- Change QuickCheck lower bound to 2.9 for GHC >= 8 (base >= 4.9) (Adam Bergmark)
Version 0.8 (2016-07-17) Constitution Day in South Korea
New features
- Add pattern synonyms
Nil
andCons
for GHC >= 7.8 - Add
Semigroup
instance for GHC >= 8 (base >= 4.9) - Use inflexible instance for
IsString
to improve support for overloaded strings (Baldur Blöndal)
Package changes
- Change QuickCheck upper bound from 2.9 to 2.10
Development changes
- Add
-Wall -Werror
testing - Add testing for GHC 8.0.1 to Travis-CI
Version 0.7.1.2 (2015-08-23) International Day for the Remembrance of the Slave Trade and its Abolition
Package changes
- Fix GHC 7.10 warnings due to imports (Mikhail Glushenkov)
Version 0.7.1.1 (2015-03-19) St. Joseph’s Day
Package changes
- Change QuickCheck upper bound from 2.8 to 2.9
Version 0.7.1 (2014-06-28) 100th Anniversary of the Assassination of Franz Ferdinand
New features
- Add
IsList
instance for GHC >= 7.8 (Baldur Blöndal)
Version 0.7.0.1 (2014-03-24) World Tuberculosis Day
Package changes
- Change QuickCheck upper bound from 2.7 to 2.8
Version 0.7 (2014-03-17) St. Patrick’s Day
New features
- Add
NFData
instance (anddeepseq
dependency) - Add
IsString
instance - Remove deprecated entities
Version 0.6.0.1 (2013-12-01) World AIDS Day
Package changes
- Change QuickCheck lower bound from 2.6 to 2.5 (Michael Snoyman)
Version 0.6 (2013-11-29) Black Friday
Development changes
- Maintenance and development taken over by Sean Leather (Bas van Dijk)
- Migrate repository from http://code.haskell.org/~dons/code/dlist/ to https://github.com/spl/dlist
- Add Travis-CI (Herbert Valerio Riedel)
Package changes
- Stop supporting
base < 2
- Fix tests and use
cabal test
- Add scripts for running
hpc
- Update documentation
New features
- New type class instances:
Eq
,Ord
,Read
,Show
,Alternative
, andFoldable
- New function
apply
to use instead ofunDL
Deprecations
- Deprecate
DList
constructor and record selector to make it abstract (see #4) - Deprecate
maybeReturn
which is not directly relevant to dlists