src/Pure/General/graph.ML
2009-09-27 wenzelm 2009-09-27 tuned;
2009-09-27 wenzelm 2009-09-27 reachable: recovered reverse post-order (lost in 73ad4884441f), which is expected for all_preds/all_succs and required for topological_order;
2009-07-09 wenzelm 2009-07-09 renamed functor TableFun to Table, and GraphFun to Graph;
2009-06-13 wenzelm 2009-06-13 native get_first, with optional boundary; tuned signature;
2009-06-10 wenzelm 2009-06-10 removed unused make; simplified extend: eliminated builtin fold, eliminated performance leak (slow member/keys and redundant explore); observe naming conventions of this module;
2009-06-09 bulwahn 2009-06-09 added graph builders
2009-03-05 wenzelm 2009-03-05 removed unused TableFun().fold_map and GraphFun().fold_map_nodes;
2009-01-21 wenzelm 2009-01-21 removed Ids;
2008-09-23 wenzelm 2008-09-23 added del_node, which is more efficient for sparse graphs;
2008-09-11 wenzelm 2008-09-11 added is_empty;
2008-09-09 wenzelm 2008-09-09 export get_first from underlying table;
2007-12-05 haftmann 2007-12-05 map_product and fold_product
2007-07-24 wenzelm 2007-07-24 added topological_order; tuned;
2007-07-08 wenzelm 2007-07-08 replaced exception TableFun/GraphFun.DUPS by TableFun/GraphFun.DUP;
2006-12-29 wenzelm 2006-12-29 renamed project to subgraph, improved presentation, avoided unnecessary evaluation of predicate;
2006-11-28 wenzelm 2006-11-28 simplified '?' operator;
2006-09-27 wenzelm 2006-09-27 tuned all_paths;
2006-09-22 berghofe 2006-09-22 Added function all_paths (formerly find_paths).
2006-06-27 haftmann 2006-06-27 replaced subgraph by project
2006-05-11 wenzelm 2006-05-11 added fold; removed fold_nodes; added IntGraph; tuned;
2006-05-05 wenzelm 2006-05-05 replaced find_paths by irreducible_paths, i.e. produce paths within a Hasse diagram;
2006-04-27 wenzelm 2006-04-27 tuned basic list operators (flat, maps, map_filter);
2006-04-11 wenzelm 2006-04-11 tuned;
2006-03-18 wenzelm 2006-03-18 tuned;
2006-02-12 wenzelm 2006-02-12 share exception UNDEF with Table; simplified TableFun.join;
2006-02-07 wenzelm 2006-02-07 Library.is_equal;
2006-02-03 wenzelm 2006-02-03 canonical member/insert/merge;
2005-11-09 wenzelm 2005-11-09 avoid code redundancy; tuned comments;
2005-11-09 haftmann 2005-11-09 added join function
2005-10-28 haftmann 2005-10-28 reachable - abandoned foldl_map in favor of fold_map
2005-10-19 haftmann 2005-10-19 added subgraph
2005-10-05 haftmann 2005-10-05 added fold_nodes, map_node_yield
2005-09-22 haftmann 2005-09-22 added fold_map_graph
2005-09-15 wenzelm 2005-09-15 TableFun/Symtab: curried lookup and update;
2005-09-01 wenzelm 2005-09-01 curried_lookup/update;
2005-08-29 haftmann 2005-08-29 canonical interface for 'default'
2005-08-25 haftmann 2005-08-25 added 'default' function
2005-07-19 wenzelm 2005-07-19 Inttab.defined;
2005-07-13 wenzelm 2005-07-13 Graph: fast_string_ord;
2005-06-17 wenzelm 2005-06-17 Table.fold;
2005-05-18 wenzelm 2005-05-18 removed update_node, which is just an instance of map_node; tuned;
2005-05-05 dixon 2005-05-05 lucas - added update node function.
2005-04-17 wenzelm 2005-04-17 tuned;
2005-03-03 skalberg 2005-03-03 Move towards standard functions.
2005-02-13 skalberg 2005-02-13 Deleted Library.option type.
2004-08-24 obua 2004-08-24 changes
2004-06-21 kleing 2004-06-21 Merged in license change from Isabelle2004
2004-05-21 wenzelm 2004-05-21 added dest, minimals, maximals, is_edge, add_edge/merge_trans_acyclic;
2003-08-21 berghofe 2003-08-21 Added function strong_conn for computing the strongly connected components of the graph.
2001-12-10 berghofe 2001-12-10 Fixed bug in function find_paths.
2000-07-14 wenzelm 2000-07-14 improved add_edges_cyclic;
2000-07-13 wenzelm 2000-07-13 tuned exceptions; added add_deps_acyclic, merge_acyclic;
2000-05-05 wenzelm 2000-05-05 GPLed;
1999-05-17 wenzelm 1999-05-17 removed get_nodes; added keys; all_preds / all_succs: topological order; added del_nodes;
1999-01-25 wenzelm 1999-01-25 tuned;
1999-01-19 wenzelm 1999-01-19 tuned;
1999-01-18 wenzelm 1999-01-18 added General/graph.ML: generic direct graphs;