Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Documentation
class DigraphFactory g v e | g -> v, g -> e, v e -> g where Source #
vertexGraph :: v -> g Source #
edgeGraph :: e -> v -> v -> g Source #
verticesFromSetGraph :: Set v -> g Source #
verticesGraph :: [v] -> g Source #
completeGraph :: [v] -> (v -> v -> e) -> g Source #
edgeGraphFromMap :: Map e (v, v) -> g Source #
edgesGraph :: [(e, (v, v))] -> g Source #
Instances
(Ord v, Ord e) => DigraphFactory (Graph (Three :: Type -> Type -> Type) (GraphElem v e)) v e Source # | |
Defined in Math.Graph.Digraph vertexGraph :: v -> Graph Three (GraphElem v e) Source # edgeGraph :: e -> v -> v -> Graph Three (GraphElem v e) Source # verticesFromSetGraph :: Set v -> Graph Three (GraphElem v e) Source # verticesGraph :: [v] -> Graph Three (GraphElem v e) Source # completeGraph :: [v] -> (v -> v -> e) -> Graph Three (GraphElem v e) Source # edgeGraphFromMap :: Map e (v, v) -> Graph Three (GraphElem v e) Source # edgesGraph :: [(e, (v, v))] -> Graph Three (GraphElem v e) Source # loopGraph :: [(v, e)] -> Graph Three (GraphElem v e) Source # |
class ReversibleGraphFactory g v e | g -> v, g -> e, v e -> g where Source #
reversibleVertexGraph :: v -> g Source #
reversibleVerticesGraph :: [v] -> g Source #
reversibleVerticesFromSetGraph :: Set v -> g Source #
reversibleEdgeGraph :: e -> e -> v -> v -> g Source #
reversibleCompleteGraph :: [v] -> (v -> v -> (e, e)) -> g Source #
reversibleEdgesGraph :: [((e, e), (v, v))] -> g Source #
reversibleLoopGraph :: [(v, e, e)] -> g Source #
Instances
(Ord v, Ord e) => ReversibleGraphFactory (Graph (Four :: Type -> Type -> Type) (GraphElem v e)) v e Source # | |
Defined in Math.Graph.Digraph reversibleVertexGraph :: v -> Graph Four (GraphElem v e) Source # reversibleVerticesGraph :: [v] -> Graph Four (GraphElem v e) Source # reversibleVerticesFromSetGraph :: Set v -> Graph Four (GraphElem v e) Source # reversibleEdgeGraph :: e -> e -> v -> v -> Graph Four (GraphElem v e) Source # reversibleCompleteGraph :: [v] -> (v -> v -> (e, e)) -> Graph Four (GraphElem v e) Source # reversibleEdgesGraph :: [((e, e), (v, v))] -> Graph Four (GraphElem v e) Source # reversibleLoopGraph :: [(v, e, e)] -> Graph Four (GraphElem v e) Source # |
class GraphMonad m e => LabeledGraphMonad m lbl e where Source #
Instances
(Monad m, Ord e, GraphMonoid mon Bool) => LabeledGraphMonad (ReaderT (LGraph lbl mon e) m) lbl e Source # | |
(Monad m, Ord e, GraphMonoid mon Bool) => LabeledGraphMonad (InLGraphM mon lbl e m) lbl e Source # | |
class Arrow arr => GraphArrow arr e where Source #
gisVertexA :: arr e Bool Source #
gelementsA :: arr () (Set e) Source #
gverticesA :: arr () (Set e) Source #
gedgesA :: arr () (Set e) Source #
gedgesStartingFromA :: arr e (Set e) Source #
gedgesEndingToA :: arr e (Set e) Source #
Instances
(Ord a, GraphMonoid m Bool) => GraphArrow (InGraphA m a) a Source # | |
Defined in Math.Graph.InGraphA gisVertexA :: InGraphA m a a Bool Source # gsourceA :: InGraphA m a a a Source # gtargetA :: InGraphA m a a a Source # gelementsA :: InGraphA m a () (Set a) Source # gverticesA :: InGraphA m a () (Set a) Source # gedgesA :: InGraphA m a () (Set a) Source # gedgesStartingFromA :: InGraphA m a a (Set a) Source # gedgesEndingToA :: InGraphA m a a (Set a) Source # |
class GraphArrow arr e => ReversibleGraphArrow arr e where Source #
Instances
(Ord a, ReversibleGraphMonoid m Bool) => ReversibleGraphArrow (InGraphA m a) a Source # | |
Defined in Math.Graph.InGraphA |
class (Monad m, Eq e) => GraphMonad m e where Source #
gisVertex :: e -> m Bool Source #
gelements :: m (Set e) Source #
gvertices :: m (Set e) Source #
gedgesStartingFrom :: e -> m (Set e) Source #
gedgesEndingTo :: e -> m (Set e) Source #
glinks :: m (Set (e, e, e)) Source #
gloops :: Ord e => m (Set e) Source #
gisLoop :: e -> m Bool Source #
gisEdgeBetween :: e -> e -> e -> m Bool Source #
Instances
defaultGloops :: (Ord e, GraphMonad m e) => m (Set e) Source #
class GraphMonad m e => ReversibleGraphMonad m e where Source #
greversibleLinks :: m (Set ((e, e), (e, e))) Source #
goneLaneLoops :: Ord e => m (Set e) Source #
gisOneLaneLoop :: e -> m Bool Source #
Instances
(Monad m, Ord e, ReversibleGraphMonoid mon Bool) => ReversibleGraphMonad (ReaderT (LGraph lbl mon e) m) e Source # | |
(Monad m, Ord e, ReversibleGraphMonoid mon Bool) => ReversibleGraphMonad (ReaderT (Graph mon e) m) e Source # | |
(ReversibleGraphMonoid mon Bool, Monad m, Ord e) => ReversibleGraphMonad (InGraphM mon e m) e Source # | |
Defined in Math.Graph.InGraphMonad | |
(Ord e, Monad m, ReversibleGraphMonoid mon Bool) => ReversibleGraphMonad (InLGraphM mon lbl e m) e Source # | |
Defined in Math.Graph.Labeled |
defaultOneLaneLoops :: (Ord e, ReversibleGraphMonad m e) => m (Set e) Source #
defaultGisEdgeBetween :: GraphMonad m e => e -> e -> e -> m Bool Source #
defaultGisOneLaneLoop :: (Eq e, ReversibleGraphMonad m e) => e -> m Bool Source #
defaultGisReversibleEdgeBetween :: (Eq e, ReversibleGraphMonad m e) => e -> e -> e -> m Bool Source #