ekmett/discrimination

Fast linear time sorting and discrimination for a large class of data types

Haskell

141

220 commits

updated Sep 20, 2026

See the code

README

discrimination

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

Contributors

ekmett

155 commits

phadej

36 commits

RyanGlScott

10 commits

gwils

7 commits

ekmett/discrimination

Fast linear time sorting and discrimination for a large class of data types

Haskell

141

220 commits

updated Sep 20, 2026

See the code

README

discrimination

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

Contributors

ekmett

155 commits

phadej

36 commits

RyanGlScott

10 commits

gwils

7 commits

Languages

Haskell

99.3%