TC

Safe HaskellSafe-Infered

Graph

Documentation

class GSet ety sty | sty -> ety where

Methods

empty :: sty

singleton :: ety -> sty

fromList :: [ety] -> sty

toList :: sty -> [ety]

(+.) :: sty -> ety -> sty

(+..) :: sty -> sty -> sty

(+../) :: sty -> [ety] -> sty

Instances

Ord nty => GSet nty (Nsg nty) 
(Ord nty, Ord laty) => GSet (Eg nty laty) (Esg nty laty) 

class GSet ety sty => GSetEx ety sty | sty -> ety where

Methods

(-..) :: sty -> sty -> sty

contains :: sty -> ety -> Bool

size :: sty -> Int

Instances

Ord nty => GSetEx nty (Nsg nty) 

data Nsg nty

Instances

Ord nty => GSetEx nty (Nsg nty) 
Ord nty => GSet nty (Nsg nty) 
Eq nty => Eq (Nsg nty) 
Ord nty => Ord (Nsg nty) 
(Eq nty, Show nty) => Show (Nsg nty) 

data Eg nty laty

Constructors

E nty laty nty 

Instances

(Eq nty, Eq laty) => Eq (Eg nty laty) 
(Show nty, Show laty) => Show (Eg nty laty) 
(Ord nty, Ord laty) => GSet (Eg nty laty) (Esg nty laty) 

data Esg nty laty

Instances

(Eq nty, Eq laty) => Eq (Esg nty laty) 
(Ord nty, Ord laty, Show nty, Show laty) => Show (Esg nty laty) 
(Ord nty, Ord laty) => GSet (Eg nty laty) (Esg nty laty) 

data Hg nty laty

Constructors

H (Nsg nty) (Esg nty laty) 

Instances

(Ord nty, Ord laty, Show nty, Show laty) => Show (Hg nty laty) 

data Gg nty laty

Constructors

G (Nsg nty) (Esg nty laty) nty 

Instances

(Eq nty, Eq laty) => Eq (Gg nty laty) 
(Ord nty, Ord laty, Show nty, Show laty) => Show (Gg nty laty) 

nodeLT :: Ord nty => Nsg nty -> nty -> Maybe nty

nodeGT :: Ord nty => Nsg nty -> nty -> Maybe nty

newNode :: Ord nty => (Nsg nty -> nty) -> Nsg nty -> (Nsg nty, nty)

gc :: (Ord nty, Ord laty) => Esg nty laty -> nty -> Gg nty laty

gcWith1stLev :: (Ord nty, Ord laty) => (laty -> Bool) -> Esg nty laty -> nty -> Gg nty laty

findEdge :: (Ord nty, Ord laty) => Esg nty laty -> nty -> laty -> Maybe (Eg nty laty)

findTg :: (Ord nty, Ord laty) => Esg nty laty -> nty -> laty -> Maybe nty

findTrace :: (Ord nty, Ord laty) => Esg nty laty -> nty -> [laty] -> Maybe (Eg nty laty)

findTraceTg :: (Ord nty, Ord laty) => Esg nty laty -> nty -> [laty] -> Maybe nty

prefixFind :: (Ord nty, Ord laty) => Esg nty laty -> nty -> laty -> laty -> Maybe (Eg nty laty)

getOutEdges :: (Ord nty, Ord laty) => Esg nty laty -> nty -> [Eg nty laty]

getOutLas :: (Ord nty, Ord laty) => Esg nty laty -> nty -> [laty]

getInLas :: (Eq nty, Ord laty) => Esg nty laty -> nty -> [laty]

getAllLas :: (Eq nty, Ord laty) => Esg nty laty -> [laty]

emptyH :: (Ord nty, Ord laty) => Hg nty laty

newNodeH :: Ord nty => (Nsg nty -> nty) -> Hg nty laty -> (Hg nty laty, nty)

addNodeH :: Ord nty => Hg nty laty -> nty -> Hg nty laty

addNodesH :: Ord nty => Hg nty laty -> [nty] -> Hg nty laty

addEdgeH :: (Ord nty, Ord laty) => Hg nty laty -> Eg nty laty -> Hg nty laty

addEdgesH :: (Ord nty, Ord laty) => Hg nty laty -> [Eg nty laty] -> Hg nty laty

gcH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> Gg nty laty

findEdgeH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> laty -> Maybe (Eg nty laty)

findTgH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> laty -> Maybe nty

findTraceH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> [laty] -> Maybe (Eg nty laty)

findTraceTgH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> [laty] -> Maybe nty

prefixFindH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> laty -> laty -> Maybe (Eg nty laty)

getOutEdgesH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> [Eg nty laty]

getOutLasH :: (Ord nty, Ord laty) => Hg nty laty -> nty -> [laty]

getInLasH :: (Eq nty, Ord laty) => Hg nty laty -> nty -> [laty]

getAllLasH :: (Eq nty, Ord laty) => Hg nty laty -> [laty]

containsH :: Ord nty => Hg nty laty -> nty -> Bool

gcG :: (Ord nty, Ord laty) => Gg nty laty -> nty -> Gg nty laty

gcGr :: (Ord nty, Ord laty) => Gg nty laty -> Gg nty laty

findEdgeG :: (Ord nty, Ord laty) => Gg nty laty -> nty -> laty -> Maybe (Eg nty laty)

findEdgeGr :: (Ord nty, Ord laty) => Gg nty laty -> laty -> Maybe (Eg nty laty)

findTgG :: (Ord nty, Ord laty) => Gg nty laty -> nty -> laty -> Maybe nty

findTgGr :: (Ord nty, Ord laty) => Gg nty laty -> laty -> Maybe nty

prefixFindG :: (Ord nty, Ord laty) => Gg nty laty -> nty -> laty -> laty -> Maybe (Eg nty laty)

prefixFindGr :: (Ord nty, Ord laty) => Gg nty laty -> laty -> laty -> Maybe (Eg nty laty)

getOutEdgesG :: (Ord nty, Ord laty) => Gg nty laty -> nty -> [Eg nty laty]

getOutEdgesGr :: (Ord nty, Ord laty) => Gg nty laty -> [Eg nty laty]

greltoh :: (Ord nty, Ord laty) => (Gg nty laty -> Gg nty laty -> a) -> Hg nty laty -> nty -> nty -> a