discrimination: Fast generic linear-time sorting, joins and container construction.

[ bsd3, data, library, sorting ] [ Propose Tags ]

This package provides fast, generic, linear-time discrimination and sorting.

The techniques applied are based on multiple papers and talks by Fritz Henglein.

[Skip to Readme]
Versions [RSS] [faq] 0, 0.1, 0.2.1, 0.3, 0.4, 0.4.1
Change log CHANGELOG.markdown
Dependencies array (==0.5.*), base (>=4.8 && <4.15), containers (>=0.4 && <0.7), contravariant (>=1.3.1 && <2), deepseq (>=1.3 && <1.5), ghc-prim, hashable (>=1.2 && <1.4), integer-gmp, primitive (>=0.6.4 && <0.8), profunctors (==5.*), promises (>=0.2 && <0.4), semigroups (>=0.16.2 && <1), transformers (>=0.2 && <0.6), transformers-compat (>=0.3 && <1), vector (>=0.10 && <0.13), void (>=0.5 && <1) [details]
License BSD-3-Clause
Copyright Copyright (C) 2014-2015 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <ekmett@gmail.com>
Revised Revision 2 made by sjakobi at 2021-11-13T05:17:48Z
Category Data, Sorting
Home page http://github.com/ekmett/discrimination/
Bug tracker http://github.com/ekmett/discrimination/issues
Source repo head: git clone git://github.com/ekmett/discrimination.git
Uploaded by EdwardKmett at 2019-06-07T07:57:18Z
Distributions NixOS:0.4.1, Stackage:0.4.1
Downloads 5346 total (41 in the last 30 days)
Rating 2.5 (votes: 3) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]


[Index] [Quick Jump]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for discrimination-0.4

[back to package description]


Hackage Build Status

This package provides linear time sorting, partitioning, and joins for a wide array of Haskell data types. This work is based on a "final encoding" of the ideas presented in multiple papers and talks by Fritz Henglein.

By adopting a final encoding we can enjoy many instances for standard classes, lawfully, without quotienting.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on irc.freenode.net.

-Edward Kmett