úÎÚYportableunstableAndy Gill <andygill@ku.edu> Safe-Infered ? takes a list of attributes, generates a new node, and gives a  .  3 allows a user to use their own (Int-based) node id'"s, without needing to remap them.  9 takes a NodeId, and adds some attributes to that node.   generates an edge between two  s, with attributes.   generates an edge between two  2s, with optional node sub-labels, and attributes.  generates an edge between two  s. C groups a subgraph together; in dot these are the subgraphs inside { and }. U is when a set of nodes share specific attributes. Usually used for layout tweaking. 6 provides a combinator for a common pattern; a set of  s with the same rank. B builds an explicit, internally named subgraph (called cluster). ) gives a attribute to the current scope. * generates a simple graph from a netlist.   Attributes for each node Out edges leaving each node  The netlist      Safe-InferedBFlow could include messages and actions, one item per source line 7Tries to put swimlines in the specified order. Syntax: order swimline1 swimline2 ... 9Action (actor, message text). Syntax in the source file: actor: message text =Message (from, to, message text). Syntax in the source file: from -> to: message text $ take a list of flow diagram items (%) and converts them to Graphviz code @Parse specified file and return Flow Diagram contained therein. " All syntax errors are thrown via  >Parse given string and return Flow Diagram contained therein. " All syntax errors are thrown via  ,Print element of the flow diagram as String       !"flow2dot-0.9.0.2Text.FlowDiagramText.DotFlowOrderActionMsgflow2dotparseFlowFromFile parseFlowshowFlownodeNodeId userNodeIduserNodeedgeedge'.->.scopesharesamecluster attribute netlistGraphDotshowDot $fMonadDot $fShowNodeIdbaseGHC.Errerror$fArbitraryFlow$fArbitraryMessage$fArbitraryName