I work with graphs quite a lot and it is natural to use Tables to hold nodes. The key is the ID and the node may be an object that at minimum holds the indexes of its parents / children. For topologically sorted directed acyclical graphs (DAGs) I find myself using OrderedTable quite a lot and here I find myself missing features that Seq has, but that haven't been added to OrderedTable. On more than one occasion I have wanted access by index, pop() or reverse(). For example right now I want to do a consuming breath first search on a DAG and add nodes under certain conditions, so naturally I would want to do something like: var candidates: OrderedTable[int, node] = nodes while candidates.len > 0: let candidate = candidates.pop() do_some_work(node) if ...: candidates.add(node(...)) Run
Anyway is this planned? Or am I missing some good reason why these methods aren't supported?