combinat-0.2.9.0: Generate and manipulate various combinatorial objects.

Safe HaskellSafe
LanguageHaskell2010

Math.Combinat.Classes

Contents

Description

Type classes for some common properties shared by different objects

Synopsis

Documentation

class CanBeEmpty a where Source #

Emptyness

Minimal complete definition

isEmpty, empty

Methods

isEmpty :: a -> Bool Source #

empty :: a Source #

Partitions

class HasWidth a where Source #

Minimal complete definition

width

Methods

width :: a -> Int Source #

Instances
HasWidth Permutation Source # 
Instance details

Defined in Math.Combinat.Permutations

HasWidth Partition Source # 
Instance details

Defined in Math.Combinat.Partitions.Integer.Naive

Methods

width :: Partition -> Int Source #

HasWidth LatticePath Source # 
Instance details

Defined in Math.Combinat.LatticePaths

HasWidth TDiag Source # 
Instance details

Defined in Math.Combinat.Groups.Thompson.F

Methods

width :: TDiag -> Int Source #

HasWidth (Tree a) Source # 
Instance details

Defined in Math.Combinat.Groups.Thompson.F

Methods

width :: Tree a -> Int Source #

class HasHeight a where Source #

Minimal complete definition

height

Methods

height :: a -> Int Source #

class HasWeight a where Source #

Weight (of partitions, tableaux, etc)

Minimal complete definition

weight

Methods

weight :: a -> Int Source #

Instances
HasWeight Partition Source # 
Instance details

Defined in Math.Combinat.Partitions.Integer.Naive

Methods

weight :: Partition -> Int Source #

HasWeight SkewPartition Source # 
Instance details

Defined in Math.Combinat.Partitions.Skew

HasWeight PlanePart Source # 
Instance details

Defined in Math.Combinat.Partitions.Plane

Methods

weight :: PlanePart -> Int Source #

HasWeight (Tableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux

Methods

weight :: Tableau a -> Int Source #

HasWeight (SkewTableau a) Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Methods

weight :: SkewTableau a -> Int Source #

class HasDuality a where Source #

Duality (of partitions, tableaux, etc)

Minimal complete definition

dual

Methods

dual :: a -> a Source #

Tableau

class HasShape a s | a -> s where Source #

Shape (of tableaux, skew tableaux)

Minimal complete definition

shape

Methods

shape :: a -> s Source #

Instances
HasShape (Tableau a) Partition Source # 
Instance details

Defined in Math.Combinat.Tableaux

Methods

shape :: Tableau a -> Partition Source #

HasShape (SkewTableau a) SkewPartition Source # 
Instance details

Defined in Math.Combinat.Tableaux.Skew

Trees

class HasNumberOfNodes t where Source #

Number of nodes (of trees)

Minimal complete definition

numberOfNodes

Methods

numberOfNodes :: t -> Int Source #

Instances
HasNumberOfNodes (Tree a) Source # 
Instance details

Defined in Math.Combinat.Trees.Nary

Methods

numberOfNodes :: Tree a -> Int Source #

HasNumberOfNodes (BinTree a) Source # 
Instance details

Defined in Math.Combinat.Trees.Binary

HasNumberOfNodes (BinTree' a b) Source # 
Instance details

Defined in Math.Combinat.Trees.Binary

Methods

numberOfNodes :: BinTree' a b -> Int Source #

class HasNumberOfLeaves t where Source #

Number of leaves (of trees)

Minimal complete definition

numberOfLeaves

Methods

numberOfLeaves :: t -> Int Source #

Instances
HasNumberOfLeaves (Tree a) Source # 
Instance details

Defined in Math.Combinat.Trees.Nary

Methods

numberOfLeaves :: Tree a -> Int Source #

HasNumberOfLeaves (BinTree a) Source # 
Instance details

Defined in Math.Combinat.Trees.Binary

HasNumberOfLeaves (Tree a) Source # 
Instance details

Defined in Math.Combinat.Groups.Thompson.F

Methods

numberOfLeaves :: Tree a -> Int Source #

HasNumberOfLeaves (BinTree' a b) Source # 
Instance details

Defined in Math.Combinat.Trees.Binary

Permutations

class HasNumberOfCycles p where Source #

Number of cycles (of partitions)

Minimal complete definition

numberOfCycles

Methods

numberOfCycles :: p -> Int Source #