Craft3e-0.2.0.1: Code for Haskell: the Craft of Functional Programming, 3rd ed.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Relation

Synopsis

Documentation

type Relation a = Set (a, a) Source #

^^^^^^^^^^^^^^^^^^^^^^^^^

The image of an element under a relation.

image :: Ord a => Relation a -> a -> Set a Source #

setImage :: Ord a => Relation a -> Set a -> Set a Source #

unionSet :: Ord a => Set (Set a) -> Set a Source #

addImage :: Ord a => Relation a -> Set a -> Set a Source #

setProduct :: (Ord a, Ord b) => Set a -> Set b -> Set (a, b) Source #

adjoin :: (Ord a, Ord b) => Set a -> b -> Set (a, b) Source #

limit :: Eq a => (a -> a) -> a -> a Source #

^^^^^

The connected components of a graph.

classes :: Ord a => Relation a -> Set (Set a) Source #

eles :: Ord a => Relation a -> Set a Source #

addImages :: Ord a => Relation a -> Set (Set a) -> Set (Set a) Source #

^^^^^^^^^^^^^^^^^^

The descendants v under rel which lie outside st.

newDescs :: Ord a => Relation a -> Set a -> a -> Set a Source #

findDescs :: Ord a => Relation a -> [a] -> a -> [a] Source #

^^^^^^^^^^^^^^^^^^^^

breadthFirst :: Ord a => Relation a -> a -> [a] Source #

^^^^^^^^^^^^^^^^^^^^

depthFirst :: Ord a => Relation a -> a -> [a] Source #

depthSearch :: Ord a => Relation a -> a -> [a] -> [a] Source #

depthList :: Ord a => Relation a -> [a] -> [a] -> [a] Source #