BSD-3-Clause licensed and maintained by Henning Thielemann
This version can be pinned in stack with:combinatorial-0.1.1@sha256:3ee0fd6f0c512a4c892be90ed4736a2d2cc643c05ad1af565df820e993dbc8bc,3059
Used by 1 package in nightly-2024-03-14(full list with versions):

Counting, enumerating, ranking and unranking of combinatorial objects. Well-known and less well-known basic combinatoric problems and examples.

The functions are not implemented in obviously stupid ways, but they are also not optimized to the maximum extent. The package is plain Haskell 98.

See also:

  • exact-combinatorics: Efficient computations of large combinatoric numbers.

  • combinat: Library for a similar purpose with a different structure and selection of problems.

Changes

Change log for the combinatorial package

0.1

  • added explicit export lists, thus hide some helper functions and alternative implementations

  • use alternative implementations in tests

  • chooseToIndex -> chooseRank, chooseFromIndex -> chooseUnrank

0.0

  • Tests: replaced (==>) and custom cardinal types by QC.forAll.

  • extracted from HTam package