-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Generate Graphviz documents from a Haskell representation. -- @package dataflow @version 0.6.0.0 -- | DataFlow.Graphviz provides a model corresponding to the Graphviz -- language described at -- http://www.graphviz.org/content/dot-language. All features in -- the grammar are not supported. module DataFlow.Graphviz newtype ID ID :: String -> ID data Attr Attr :: ID -> ID -> Attr type AttrList = [Attr] data Compass N :: Compass NE :: Compass E :: Compass SE :: Compass S :: Compass SW :: Compass W :: Compass NW :: Compass C :: Compass data Port Port :: (Maybe ID) -> Compass -> Port data NodeID NodeID :: ID -> (Maybe Port) -> NodeID data Subgraph Subgraph :: ID -> StmtList -> Subgraph data EdgeOperator Arrow :: EdgeOperator Line :: EdgeOperator data EdgeOperand IDOperand :: NodeID -> EdgeOperand SubgraphOperand :: Subgraph -> EdgeOperand data EdgeExpr EdgeExpr :: EdgeOperand -> EdgeOperator -> EdgeOperand -> EdgeExpr data AttrStmtType Graph :: AttrStmtType Node :: AttrStmtType Edge :: AttrStmtType data Stmt NodeStmt :: ID -> AttrList -> Stmt EdgeStmt :: EdgeExpr -> AttrList -> Stmt AttrStmt :: AttrStmtType -> AttrList -> Stmt EqualsStmt :: ID -> ID -> Stmt SubgraphStmt :: Subgraph -> Stmt type StmtList = [Stmt] data Graph Digraph :: ID -> StmtList -> Graph instance Eq ID instance Ord ID instance Show Attr instance Eq Attr instance Show Compass instance Eq Compass instance Ord Compass instance Show Port instance Eq Port instance Ord Port instance Show NodeID instance Eq NodeID instance Ord NodeID instance Show EdgeOperator instance Eq EdgeOperator instance Show AttrStmtType instance Eq AttrStmtType instance Show Stmt instance Eq Stmt instance Show EdgeExpr instance Eq EdgeExpr instance Show EdgeOperand instance Eq EdgeOperand instance Show Subgraph instance Eq Subgraph instance Show Graph instance Eq Graph instance Show ID module DataFlow.Graphviz.EdgeNormalization normalize :: Graph -> Graph module DataFlow.Graphviz.Renderer renderGraphviz :: Graph -> String instance Renderable Graph instance Renderable StmtList instance Renderable Stmt instance Renderable AttrStmtType instance Renderable EdgeExpr instance Renderable EdgeOperand instance Renderable EdgeOperator instance Renderable Subgraph instance Renderable NodeID instance Renderable Port instance Renderable AttrList instance Renderable Attr instance Renderable ID module DataFlow.Core -- | An identifier corresponding to those in Graphviz. type ID = String -- | The name of a Diagram or Object. type Name = String -- | Operation heading. type Operation = String -- | Operation description. type Description = String -- | The top level diagram. data Diagram Diagram :: (Maybe Name) -> [Object] -> Diagram -- | An object in a diagram. data Object -- | A Input or Output in DFD. InputOutput :: ID -> Name -> Object -- | Surrounds other objects, denoting a boundary. TrustBoundary :: ID -> Name -> [Object] -> Object -- | A "Function" in DFD. Function :: ID -> Name -> Object -- | A "Database" in DFD. Database :: ID -> Name -> Object -- | Describes the flow of data between two objects. Flow :: ID -> ID -> Operation -> Description -> Object instance Show Object instance Eq Object instance Eq Diagram instance Show Diagram module DataFlow.Reader readDiagram :: String -> String -> Either ParseError Diagram readDiagramFile :: FilePath -> IO (Either ParseError Diagram) module DataFlow.DFD type Step = Int type DFD v = State Step v incrStep :: DFD () -- | Get the next "step" number (the order of flow arrows in the diagram). nextStep :: DFD Int inQuotes :: String -> String inAngleBrackets :: String -> String label :: String -> Attr bold :: String -> String italic :: String -> String small :: String -> String color :: String -> String -> String convertObject :: Object -> DFD StmtList convertObjects :: [Object] -> DFD StmtList defaultGraphStmts :: StmtList convertDiagram :: Diagram -> DFD Graph asDFD :: Diagram -> Graph