combinat- Generation of various combinatorial objects.

Safe HaskellNone



A collection of functions to generate combinatorial objects like partitions, compositions, permutations, Young tableaux, various trees, etc.

The long-term goals are

  1. to be efficient;
  2. to be able to enumerate the structures with constant memory usage.

The short-term goal is to generate many interesting structures.

Naming conventions (subject to change):

  • prime suffix: additional constrains, typically more general;
  • underscore prefix: use plain lists instead of other types with enforced invariants;
  • "random" prefix: generates random objects (typically with uniform distribution);
  • "count" prefix: counting functions.

This module re-exports the most common modules.