PreviousUpNext

14.4.15  Dot_Graphtree

The standard library Dot_Graphtree api defines access to our in-memory representation for Graphvix .dot files.

The Dot_Graphtree api is implemented by the dot_graphtree package.

The Dot_Graphtree api source code is in src/lib/std/dot/dot-graphtree.api. The above information is manually maintained and may contain errors.

api {
    Traitful_Graph;
    Node;
    Edge;
    Graph_Info;
    Node_Info;
    Edge_Info;
    exception GRAPHTREE_ERROR String;
        Graph_Part
        = EDGE_PART
        Edge
        |
        GRAPH_PART
        Traitful_Graph
        |
        NODE_PART
        Node
        |
        PROTOEDGE_PART
        Traitful_Graph
        |
        PROTONODE_PART
        Traitful_Graph;
        make_graph :
                {info:Null_Or(Graph_Info ), make_default_edge_info:Void -> Edge_Info,
                make_default_graph_info:Void -> Graph_Info, make_default_node_info:Void -> Node_Info, name:String}
            ->
            Traitful_Graph;
    graph_name : Traitful_Graph -> String;
    node_name : Node -> String;
    node_count : Traitful_Graph -> Int;
    edge_count : Traitful_Graph -> Int;
    has_node : (Traitful_Graph , Node) -> Bool;
    has_edge : (Traitful_Graph , Edge) -> Bool;
    drop_node : (Traitful_Graph , Node) -> Void;
    drop_edge : (Traitful_Graph , Edge) -> Void;
    make_node : (Traitful_Graph , String , Null_Or(Node_Info )) -> Node;
    get_or_make_node : (Traitful_Graph , String , Null_Or(Node_Info )) -> Node;
    find_node : (Traitful_Graph , String) -> Null_Or(Node );
    nodes : Traitful_Graph -> List(Node );
    nodes_apply : (Node -> Void) -> Traitful_Graph -> Void;
    nodes_fold : ((Node , X) -> X) -> Traitful_Graph -> X -> X;
    make_edge : {graph:Traitful_Graph, head:Node, info:Null_Or(Edge_Info ), tail:Node} -> Edge;
    edges : Traitful_Graph -> List(Edge );
    in_edges : (Traitful_Graph , Node) -> List(Edge );
    out_edges : (Traitful_Graph , Node) -> List(Edge );
    in_edges_apply : (Edge -> Void) -> (Traitful_Graph , Node) -> Void;
    out_edges_apply : (Edge -> Void) -> (Traitful_Graph , Node) -> Void;
    head : Edge -> Node;
    tail : Edge -> Node;
    nodes_of : Edge -> {head:Node, tail:Node};
    make_subgraph : (Traitful_Graph , String , Null_Or(Graph_Info )) -> Traitful_Graph;
    find_subgraph : (Traitful_Graph , String) -> Null_Or(Traitful_Graph );
    get_trait : Graph_Part -> String -> Null_Or(String );
    set_trait : Graph_Part -> (String , String) -> Void;
    drop_trait : Graph_Part -> String -> Void;
    trait_apply : Graph_Part -> ((String , String) -> Void) -> Void;
    count_trait : Graph_Part -> Int;
    graph_info_of : Traitful_Graph -> Graph_Info;
    edge_info_of : Edge -> Edge_Info;
    node_info_of : Node -> Node_Info;
    eq_graph : (Traitful_Graph , Traitful_Graph) -> Bool;
    eq_node : (Node , Node) -> Bool;
    eq_edge : (Edge , Edge) -> Bool;
    read_graph : String -> Traitful_Graph;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext