The standard library Traitful_Graphtree api is part of the graph-visualization support infrastructure.
The Traitful_Graphtree api is implemented by the planar_graphtree package.
The Traitful_Graphtree api source code is in src/lib/std/graphtree/traitful-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;};