If I say port, I really just mean minor changes. Toothpick as it can be downloaded from Joseph’s corporate MetaProg page does load and run on VAST, but I had some issues with it. The main problem I had was that Toothpick subclasses AbtTimestamp and the subclass is named Timestamp. Unfortunately, GLORP also defines a class named Timestamp, so you cannot have both in an image. While I think neither subclassing AbtTimestamp nor naming the subclass Timestamp (which is the name of the Timestamp class in all other Smalltalk dialects I know) is a good idea, I decided the easiest way to get around this is to rename the Timestamp class in Toothpick to Toothpick Timestamp.
Another mini-problem with Toothpick 1.1 is that it implements some extensions to base classes that Instantiations has added in VAST 8. So if you load the original version of Toothpick 1.1 into a VAST 8.0 image, you will get warnings and the ToothpickPreload application will become a scratch edition. Not really an issue, but if you use some automation code in a project, you shouldn’t accept scratch editions.
Since I didn’t invest much work in this port, I did not solve the last-mentioned issue with configuration expressions for older and newer versions of VAST, so you may miss exactly these extensions in VAST 7.5 or older if you load Toothpick 1.1.b from VASTGoodies.
I want to thank Joseph for the work he’s done with Toothpick and for open-sourcing it. I think it’s a nicely designed, easy to use logging framework with a host of options to extend it if you need to, but very little configuration work to be done for simple things. You can get started with Toothpick in twenty minutes by reading through a few wiki pages.