Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
A collection of functions to generate, manipulate, visualize and count combinatorial objects like partitions, compositions, permutations, braids, Young tableaux, lattice paths, various tree structures, etc etc.
See also the combinat-diagrams
library for generating
graphical representations of (some of) these structure using
the diagrams
library (http://projects.haskell.org/diagrams).
The long-term goals are
- generate most of the standard structures;
- manipulate these structures;
- visualize these structures;
- the generation should be efficient;
- to be able to enumerate the structures with constant memory usage;
- to be able to randomly sample from them;
- finally, to be a repository of algorithms.
The short-term goal is simply to generate and manipulate 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 commonly used modules.
Documentation
module Math.Combinat.Numbers
module Math.Combinat.Sign
module Math.Combinat.Sets
module Math.Combinat.Tuples
module Math.Combinat.Compositions
module Math.Combinat.Partitions
module Math.Combinat.Permutations
module Math.Combinat.Tableaux
module Math.Combinat.Trees
module Math.Combinat.LatticePaths
module Math.Combinat.ASCII