sym-0.1: Permutations, patterns, and statistics

MaintainerAnders Claesson <>
Safe HaskellSafe-Infered




The dihedral group of order 8 acting on permutations.

To avoid name clashes this module is best imported qualified; e.g.

 import qualified Math.Sym.D8 as D8


The group elements

r0, s3, s2, s1, s0, r3, r2, r1 :: Perm a => a -> aSource

Ration by 0 degrees, i.e. the identity map.

D8, the klein four-group, and orbits

d8, klein4 :: Perm a => [a -> a]Source

The dihedral group of order 8 (the symmetries of a square); that is,

 d8 = [r0, r1, r2, r3, s0, s1, s2, s3]

orbit :: Ord a => Perm a => [a -> a] -> a -> [a]Source

orbit fs x is the orbit of x under the functions in fs. E.g.,

 orbit klein4 "2314" == ["1423","2314","3241","4132"]


id, inverse, reverse, complement, rotate :: Perm a => a -> aSource

id = r0