Anybody know of an implementation of graph algorithms in Smalltalk?
I'd like something that allows you to implement an interface on your model objects or something and provides algorithms for transitive closure, transitive reduction, topological sort, etc., etc.
People end up re-implementing these widely-applicable algorithms so often, it would be great to have a generic implementation available that everybody could use.
Pointers to a similar library for other (preferably OO) languages that could be ported would also be useful I guess.
I don't know if it has everything you need (and it includes a whole lot of other stuff), but the Jun library (GPL Licensed) might be a good place to start. It's shipped as part of the standard NC version of VisualWorks, not sure about the other Smalltalks. The package you'd be interested in is called Jun-Topology-Graph.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With