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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


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 0, 0.1, 0.2.1, 0.3, 0.4, 0.4.1, 0.4.1, 0.5
Change log CHANGELOG.markdown
Dependencies array (>= && <0.6), base (>=4.8 && <5), containers (>= && <0.7), contravariant (>=1.5.3 && <2), deepseq (>= && <1.5), ghc-bignum (>=1.0 && <1.1), ghc-prim, hashable (>= && <1.4), integer-gmp (>=1.0 && <1.1), primitive (>= && <0.8), promises (>=0.3 && <0.4), semigroups (>=0.18.5 && <1), transformers (>= && <0.6) [details]
License BSD-3-Clause
Copyright Copyright (C) 2014-2015 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <ekmett@gmail.com>
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 phadej at 2021-01-08T21:39:24Z


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for discrimination-0.4.1

[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